2016-12-20 320 views
0

我想按照this page在本地運行JSBin。mac中的「node-gyp rebuild」錯誤

我剛剛在我的Mac中安裝了xcode 8.2。現在,npm -v返回3.10.9; node -v返回v7.2.1。但是,npm install引發錯誤:

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

> [email protected] 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 [email protected] requires a peer of [email protected]>= 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! [email protected] install: `node-gyp rebuild` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] 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 

有人知道這裏有什麼問題嗎?

回答

0

問題是hashring v3.0.0 depends on an older version of nan (v1.3.x),它與最近版本的節點不兼容。應該指出的是,截至撰寫本文時,當前版本的hashring(v3.2.0)不再包含一個插件,它只是javascript。

hashring依賴來自jsbinmemcached依賴關係,它目前被硬編碼到特定的git提交哈希。幾個月前有a PR to update this dependency但顯然被解僱,因爲維護人員顯然不支持現代版本的節點。您可能想要在their tracker上創建問題來表達您對節點兼容性的擔憂。

+0

那我該怎麼辦?我怎麼能讓它使用'hashring v3.2.0'而不是'v3.0.0'? – SoftTimur

+0

我已經用一些更多的信息更新了我的答案。 – mscdex