1. 程式人生 > >升級node10後gulp報錯的解決辦法

升級node10後gulp報錯的解決辦法

升級完node後,發現hexo執行命令時會報錯,但依舊能執行成功,先忽略,但是到了gulp命令的時候就提示如下錯誤:

gulp
gulp[9807]: ../src/node_contextify.cc:631:static void node::contextify::ContextifyScript::New(const FunctionCallbackInfo<v8::Value> &): Assertion `args[1]->IsString()' failed.
 1: node::Abort() [/usr/local/bin/node]
 2: node::Assert(char const* const (*) [4]) [/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: 0x39a33be0427d
[1]    9807 abort      gulp

不用想,肯定是node升級導致的,搜尋一會兒獲得解決方法:

rm -fr node_modules
rm -fr package-lock.json
npm cache clean --force
npm install

在hexo根目錄(我的是~/blog)下執行上面的四個命令即可解決。當然hexo報錯的問題也同時解決了。