【发布时间】: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 作为我刚刚安装的版本。
标签: node.js angular firebase npm firebase-cli