在Mac中出现“node-gyp rebuild”错误

3

我想要跟随这个页面在本地运行JSBin。

我刚刚在我的Mac上安装了xcode 8.2。现在,npm -v返回3.10.9; node -v 返回 v7.2.1。然而,npm install 出现了错误:

/Users/softtimur/Startup/WebProjects/jsbin$ npm install

> hashring@3.0.0 install /Users/softtimur/Startup/WebProjects/jsbin/node_modules/hashring
> node-gyp rebuild

  CXX(target) Release/obj.target/hashvalue/src/hashvalue.o
In file included from ../src/hashvalue.cc:1:
../../nan/nan.h:189:68: error: too many arguments to function call, expected at most 2, have 4
    return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);
...
...
...
...
fatal error: too many errors emitted, stopping now [-ferror-limit=]
13 warnings and 20 errors generated.
make: *** [Release/obj.target/hashvalue/src/hashvalue.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.1.0
gyp ERR! command "/usr/local/Cellar/node/7.2.1/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/softtimur/Startup/WebProjects/jsbin/node_modules/hashring
gyp ERR! node -v v7.2.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
npm WARN mocha-casperjs@0.5.8 requires a peer of casperjs@>= 1.1.0-beta3 but none was installed.
npm ERR! Darwin 16.1.0
npm ERR! argv "/usr/local/Cellar/node/7.2.1/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v7.2.1
npm ERR! npm  v3.10.9
npm ERR! code ELIFECYCLE

npm ERR! hashring@3.0.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the hashring@3.0.0 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the hashring package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs hashring
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls hashring
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/softtimur/Startup/WebProjects/jsbin/npm-debug.log

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

2个回答

2
将Node降级至v10,方法如下:
brew uninstall node

brew install node@10

brew link --force --overwrite node@10

npm i现在应该能够顺利完成而不出现错误。


按照以下步骤,将我的Catalina 10.15.7上的Node版本从当前版本16降级到Node@14。 - Mark D

1
问题在于hashring v3.0.0 依赖于旧版本的nan (v1.3.x), 这与最新版本的node不兼容。需要注意的是,截至本文撰写时,当前版本的hashring (v3.2.0) 不再包含插件,仅为javascript。 hashring 依赖于 jsbinmemcached,后者目前已硬编码到特定的git提交哈希值。几个月前曾有更新此依赖关系的PR, 但显然被忽略了,因为维护者似乎不想支持现代版本的node。您可以在他们的问题跟踪器上创建一个问题,表达您对node兼容性的关注。

那么我应该怎么办?如何让它使用 hashring v3.2.0 而不是 v3.0.0 - SoftTimur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接