我試圖在Ubuntu 14.04 VPS上運行npm install,但它在安裝業力時一直失敗。 命令npm install是從詹金斯構建步驟執行的,但是當我以jenkins用戶身份登錄時,命令行也會失敗。 Jenkins服務器通過另一個VPS(生產服務器)上的Capistrano調用部署,就我所知,它與第一個VPS完全相同。npm install,node-gyp只在兩臺相同的機器中的一臺機器上生成錯誤
奇怪的是,npm install也是在部署在生產服務器(第二個VPS)上後運行的,這裏運行良好。
這裏的錯誤:
[email protected] install /var/lib/jenkins/workspace/bitbuilders-cms/node_modules/karma/node_modules/socket.io/node_modules/engine.io/node_modules/ws (node-gyp rebuild 2> builderror.log) || (exit 0) Killed
當我在此目錄中檢查builderror.log它說:
In file included from ../src/bufferutil.cc:15:0:
../node_modules/nan/nan.h: In function 'v8::Local<v8::Signature> NanNew(v8::Handle<v8::FunctionTemplate>, int, v8::Handle<v8::FunctionTemplate>*)':
../node_modules/nan/nan.h:207:78: error: no matching function for call to 'v8::Signature::New(v8::Isolate*, v8::Handle<v8::FunctionTemplate>&, int&, v8::Handle<v8::FunctionTemplate>*&)'
return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);
^
../node_modules/nan/nan.h:207:78: note: candidate is:
In file included from ../src/bufferutil.cc:7:0:
/var/lib/jenkins/.node-gyp/2.0.2/deps/v8/include/v8.h:4188:27: note: static v8::Local<v8::Signature> v8::Signature::New(v8::Isolate*, v8::Handle<v8::FunctionTemplate>)
static Local<Signature> New(
^
/var/lib/jenkins/.node-gyp/2.0.2/deps/v8/include/v8.h:4188:27: note: candidate expects 2 arguments, 4 provided
../src/bufferutil.cc: In static member function 'static void BufferUtil::Initialize(v8::Handle<v8::Object>)':
../src/bufferutil.cc:32:17: warning: 'v8::Local<v8::String> NanSymbol(const char*, int)' is deprecated (declared at ../node_modules/nan/nan.h:616) [-Wdeprecated-declarations]
target->Set(NanSymbol("BufferUtil"), t->GetFunction());
^
../src/bufferutil.cc:32:39: warning: 'v8::Local<v8::String> NanSymbol(const char*, int)' is deprecated (declared at ../node_modules/nan/nan.h:616) [-Wdeprecated-declarations]
target->Set(NanSymbol("BufferUtil"), t->GetFunction());
^
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/var/lib/jenkins/.nvm/versions/io.js/v2.0.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1009:12)
gyp ERR! System Linux 3.2.0-56-generic
gyp ERR! command "/var/lib/jenkins/.nvm/versions/io.js/v2.0.2/bin/iojs" "/var/lib/jenkins/.nvm/versions/io.js/v2.0.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/lib/jenkins/workspace/bitbuilders-cms/node_modules/karma/node_modules/socket.io/node_modules/engine.io/node_modules/ws
gyp ERR! node -v v2.0.2
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
當我運行節點GYP重建它給我相同的輸出。
再次,在另一臺機器上運行良好。
他們都來看:
- 的Ubuntu 14.04
- io.js 2.0.2
- NPM 2.9.0
- GNU使3.81
- 蟒蛇2.7.6
- GCC 4.8 .2
- node-gyp 1.0.3
- n VM 0.25.2
我已經試過到目前爲止
我全球的裝機節點GYP(NPM安裝-g節點GYP)和運行節點0.12.3。 在安裝之前,我跑:
- NPM緩存清理
- 室射頻node_modules
- RM -rf〜/ .node-GYP
在哪裏NPM安裝VPS給出了這樣的錯誤,我因爲它抱怨它無法找到某些npm模塊,所以不能在它之後運行任何gulp任務。 在這臺機器上,npm install以用戶jenkins的身份運行。
在npm install正常運行的其他VPS中,後續的gulp任務也可以正常運行。 在這臺機器上,npm install是通過Capistrano作爲用戶www-data執行的。他們都使用shell/bin/bash。
不幸的是,問題依然存在。
這裏怎麼回事? 任何幫助,非常感謝!