将节点升级到 v10.4.1 后出现 Gulp 错误

Posted

技术标签:

【中文标题】将节点升级到 v10.4.1 后出现 Gulp 错误【英文标题】:Gulp error after upgrading node to v10.4.1 【发布时间】:2018-12-05 08:18:26 【问题描述】:

我在 Mac OS X 上运行。我最近按照这些接受的答案步骤 Upgrade Node.js to the latest version on Mac OS 将 node 和 npm 更新到了最新版本。节点:v10.4.1 和 npm:6.1.0 现在当我运行我的 Gulp 文件时,我收到了这个错误:

gulp[2838]: ../src/node_contextify.cc:629:static void node::contextify::ContextifyScript::New(const FunctionCallbackInfo<v8::Value> &): Assertion `args[1]->IsString()' failed.
 1: node::Abort() [/usr/local/bin/node]
 2: node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, char const*, int, v8::Local<v8::Value>*, node::async_context) [/usr/local/bin/node]
 3: node::contextify::ContextifyScript::New(v8::FunctionCallbackInfo<v8::Value> const&) [/usr/local/bin/node]
 4: v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) [/usr/local/bin/node]
 5: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) [/usr/local/bin/node]
 6: v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/usr/local/bin/node]
 7: 0x211117841bd
 8: 0x2111178ee5d
 9: 0x2111180b2a0
10: 0x21111793429
11: 0x21111793429
12: 0x21111793429
Abort trap: 6

有人知道这里有什么问题吗?

【问题讨论】:

【参考方案1】:

关于此的完整文章: https://davidsekar.com/nodejs/upgrading-your-gulp-for-running-with-node-v10

简历:

gulp 3.x 不适用于节点 10.x

删除 gulp

npm rm -g gulp

安装 gulp-cli (引入了 gulp-cli 包,在此处查看 https://www.npmjs.com/package/gulp-cli)

npm i gulp-cli -g 

在您的项目中本地安装 gulp v4

npm i gulp@next --save-dev

您需要对 gulpfile.js 进行更改语法和功能已更改。因此,请为此阅读文章,它简单明了。 Here it is again.

【讨论】:

Gulp v4.0.2 为我的环境节点 v10.16.3、npm v6.9.0 解决了这个错误。【参考方案2】:

不明白为什么,但运行 npm i natives 为我解决了问题。

【讨论】:

没错。我有 gulp -v 3.9.1 和 npm -v v11.12.0,但是运行这个命令 npm i natives 为我修复了它。谢谢。【参考方案3】:

我需要做的就是更新我的 Gulp 版本。运行 npm rebuild node-sass 解决了我的问题

【讨论】:

您使用的是哪个版本,您将其更改为什么?

以上是关于将节点升级到 v10.4.1 后出现 Gulp 错误的主要内容,如果未能解决你的问题,请参考以下文章

将节点版本从 v6.10 升级到 v10.x 后捆绑项目的差异

升级到 node.js 4.1 后 Gulp 不再工作

node升级7.0以上版本使用gulp时报错

升级到 macOS Big Sur v11.0.1 后出现错误的 JAVA_HOME

记录一下关于golang版本升级的那些问题

记录一下关于golang版本升级的那些问题