Firebase:与此版本的 Node.js 不兼容的 node-tar 或 npm

Posted

技术标签:

【中文标题】Firebase:与此版本的 Node.js 不兼容的 node-tar 或 npm【英文标题】:Firebase: node-tar or npm that is incompatible with this version of Node.js 【发布时间】:2018-08-04 10:28:28 【问题描述】:

我有一个 Angular 项目,我在构建项目后尝试使用 firebase deploy。在“托管:准备要上传的 dist 目录”之后,它失败并出现以下错误。

警告:您可能使用的 node-tar 或 npm 版本是 与此版本的 Node.js 不兼容。请使用 与 Node.js 捆绑在一起的 npm 版本,或 npm 版本(> 5.5.1 或 4.0.1)。节点[38453]:../src/node_zlib.cc:437:静态无效 node::(匿名命名空间)::ZCtx::Init(const FunctionCallbackInfo &): 断言 `args.Length() == 7 && "init(windowBits, level, memLevel, strategy, writeResult, writeCallback," "dictionary)"' 失败。1: node::Abort() [/usr/local/bin/node] 2: node::Assert(char const* const () [4]) [/usr/local/bin/node] 3: 节点::(匿名 命名空间)::ZCtx::Init(v8::FunctionCallbackInfo const&) [/usr/local/bin/node] 4: v8::internal::FunctionCallbackArguments::Call(void ()(v8::FunctionCallbackInfo const&)) [/usr/local/bin/node] 5: v8::internal::MaybeHandle v8::内部::(匿名 命名空间)::HandleApiCallHelper(v8::internal::Isolate*, v8::internal::句柄, v8::internal::句柄, v8::internal::句柄, v8::internal::句柄, v8::internal::BuiltinArguments) [/usr/local/bin/node] 6: v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/usr/local/bin/node] 7: 0x3e504a2842fd 中止 陷阱:6

我检查了我的 node (v.9.6.1) 和 npm (5.6.0) 版本。我试过删除 node 和 npm 并重新安装它们,但没有运气。我一直找不到node-tar版本。

如果有人能帮助我指出正确的方向,我将不胜感激。

【问题讨论】:

这是一个警告,而不是错误。您可以毫无问题地继续前进。 @R.Richards 我已经尝试部署多年(几个小时)并不断收到此消息。 firebase 上的部署历史记录中仍然没有部署。 如果你运行npm ls node-tar,你会看到你安装的版本吗? 这是一个长镜头,但是...您是否安装了多个 node/npm 副本?我看到github上的当前firebase-tools在package.json中有"bin": "firebase": "./bin/firebase" ./bin/firebase有shebang#!/usr/bin/env node,所以它应该运行PATH中称为node的任何版本的节点,并且node --version 应该是同一个版本。至少如果你在 Linux 上。如果你的firebase版本没有什么不同,这似乎不太可能。如果你在与/usr/bin/env 不同的shell 上使用不同的PATH,这也可以解释它。 @R.Richards Tar 已安装并运行 npm install tar 脚本。同样的错误。跑npm ls tar。显示两个版本 tar@2.2.1 作为 angular/firebase 的依赖项,而 tar@4.4.0 作为我刚刚安装的版本。 【参考方案1】:

嘿,伙计,我刚刚遇到了问题。将 node 和 npm 升级到最新版本后,我认为它来自 firebase cli。

我刚刚npm install -g firebase-tools 然后firebase deploy 又开始工作了!

【讨论】:

以上是关于Firebase:与此版本的 Node.js 不兼容的 node-tar 或 npm的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 函数 Node.js 转换流

Node.js 9 新特性

如何获取某些 node.js 包的当前版本?

在 Node.JS 中关闭 firebase 连接

firebase node.js/express.js 添加多个firebase函数

firebase 和 node.js 的问题