npm 安装失败,提示“没有名为 isNearDeath 的成员”

jpg*_*z18 18 node.js npm

我不得不说我对 npm 或 nvm 的了解非常有限。

我目前克隆了一个需要运行的项目。

命名 anpm install并且工作正常,能够运行它npm run

那是一周前。今天我想再次运行它并开始看到多个奇怪的错误。

喜欢:

Module build failed: Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (59)
Run Code Online (Sandbox Code Playgroud)

这似乎很受欢迎,如此受欢迎,以至于它有多种可能的答案。

它有点“工作”了我删除软件包并安装一个更新版本的解决方案。取自这里(https://dev.to/letsbsocial1/node-sass-and-node-910-4ol)(另外我删除了文件夹 bower_components 和 node_modules)

无论如何,npm install命令仍然失败,现在由于一个奇怪的错误。

                      ^
14 warnings and 9 errors generated.
make: *** [Release/obj.target/binding/src/binding.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:203:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 18.6.0
Run Code Online (Sandbox Code Playgroud)

在此之前,我可以看到这样的事情:

In file included from ../src/binding.cpp:1:
In file included from ../../nan/nan.h:2222:
../../nan/nan_object_wrap.h:124:26: error: no member named 'IsNearDeath' in 'Nan::Persistent<v8::Object, v8::NonCopyablePersistentTraits<v8::Object> >'
    assert(wrap->handle_.IsNearDeath());
Run Code Online (Sandbox Code Playgroud)

来自 Java 世界,这些错误毫无意义,我无法弄清楚发生了什么。

你们有没有人知道我可以做些什么来让它运行?

我在跑步

npm 6.9.0
node v12.6.0
Run Code Online (Sandbox Code Playgroud)

Joe*_*lay 32

node-sass是一个“本地”模块(即它的某些部分是用编译成机器代码的语言实现的——在这种情况下,C++)。这意味着它利用了 Node 的原生 API,这些 API 可以随版本变化。因此,原生模块通常只适用于某些版本的 Node,并且在 Node 版本发生变化时需要更新。

node-sass这条规则也不例外,他们的 README 声明如果你想使用 Node v12,你必须使用node-sassv4.12.0 或更高版本。

  • 我的旧项目再次开始工作后遇到了这个问题。将“node-sass”版本从“4.11.0”更新到“4.12.0”确实成功了 (2认同)