将节点升级到 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 -v3.9.1
和 npm -v v11.12.0
,但是运行这个命令 npm i natives
为我修复了它。谢谢。【参考方案3】:
我需要做的就是更新我的 Gulp 版本。运行 npm rebuild node-sass
解决了我的问题
【讨论】:
您使用的是哪个版本,您将其更改为什么?以上是关于将节点升级到 v10.4.1 后出现 Gulp 错误的主要内容,如果未能解决你的问题,请参考以下文章
将节点版本从 v6.10 升级到 v10.x 后捆绑项目的差异