node-gyp rebuild error while installing node modules

匿名 (未验证) 提交于 2019-12-03 02:38:01

问题:

I tried installing zerorpc package on node using 'npm install zerorpc' and I am getting following error. The error is because node-gyp fails to rebuild.

npm http GET https://registry.npmjs.org/zerorpc npm http 304 https://registry.npmjs.org/zerorpc npm http GET https://registry.npmjs.org/underscore/1.3.3 npm http GET https://registry.npmjs.org/node-uuid/1.3.3 npm http GET https://registry.npmjs.org/msgpack/1.0.2 npm http GET https://registry.npmjs.org/zmq npm http 304 https://registry.npmjs.org/node-uuid/1.3.3 npm http 304 https://registry.npmjs.org/msgpack/1.0.2 npm http 304 https://registry.npmjs.org/zmq npm http 304 https://registry.npmjs.org/underscore/1.3.3 npm WARN engine msgpack@1.0.2: wanted: {"node":">=0.12.7"} (current: {"node":"v0.10.25","npm":"1.3.10"}) npm http GET https://registry.npmjs.org/bindings npm http GET https://registry.npmjs.org/nan npm http GET https://registry.npmjs.org/nan npm http 304 https://registry.npmjs.org/bindings npm http 304 https://registry.npmjs.org/nan npm http 304 https://registry.npmjs.org/nan  > zmq@2.14.0 install /home/deepu/node_modules/zerorpc/node_modules/zmq > node-gyp rebuild   > msgpack@1.0.2 install /home/deepu/node_modules/zerorpc/node_modules/msgpack > node-gyp rebuild  make: Entering directory `/home/deepu/node_modules/zerorpc/node_modules/zmq/build'   CXX(target) Release/obj.target/zmq/binding.o make: Entering directory `/home/deepu/node_modules/zerorpc/node_modules/msgpack/build'   CC(target) Release/obj.target/libmsgpack/deps/msgpack/objectc.o   CC(target) Release/obj.target/libmsgpack/deps/msgpack/unpack.o   CC(target) Release/obj.target/libmsgpack/deps/msgpack/vrefbuffer.o   CC(target) Release/obj.target/libmsgpack/deps/msgpack/zone.o   CC(target) Release/obj.target/libmsgpack/deps/msgpack/version.o   AR(target) Release/obj.target/deps/msgpack/msgpack.a   COPY Release/msgpack.a   CXX(target) Release/obj.target/msgpackBinding/src/msgpack.o ../src/msgpack.cc: In function ‘void v8_to_msgpack(v8::Handle<v8::Value>, msgpack_object*, msgpack_zone*, size_t)’: ../src/msgpack.cc:126:93: error: could not convert ‘v8obj’ from ‘v8::Handle<v8::Value>’ to ‘v8::Local<v8::Value>’          mo->via.str.size = static_cast<uint32_t>(Nan::DecodeBytes(v8obj, Nan::Encoding::UTF8));                                                                                              ^ ../src/msgpack.cc:129:94: error: could not convert ‘v8obj’ from ‘v8::Handle<v8::Value>’ to ‘v8::Local<v8::Value>’          Nan::DecodeWrite((char*)mo->via.str.ptr, mo->via.str.size, v8obj, Nan::Encoding::UTF8);                                                                                               ^ ../src/msgpack.cc:136:94: error: could not convert ‘result’ from ‘v8::Handle<v8::Value>’ to ‘v8::Local<v8::Value>’          mo->via.str.size = static_cast<uint32_t>(Nan::DecodeBytes(result, Nan::Encoding::UTF8));                                                                                               ^ ../src/msgpack.cc:139:95: error: could not convert ‘result’ from ‘v8::Handle<v8::Value>’ to ‘v8::Local<v8::Value>’          Nan::DecodeWrite((char*)mo->via.str.ptr, mo->via.str.size, result, Nan::Encoding::UTF8);                                                                                                ^ make: *** [Release/obj.target/msgpackBinding/src/msgpack.o] Error 1 make: Leaving directory `/home/deepu/node_modules/zerorpc/node_modules/msgpack/build' gyp ERR! build error  gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack     at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:267:23) gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17) gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12) gyp ERR! System Linux 3.16.0-60-generic gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild" gyp ERR! cwd /home/deepu/node_modules/zerorpc/node_modules/msgpack gyp ERR! node -v v0.10.25 gyp ERR! node-gyp -v v0.10.10 gyp ERR! not ok  npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian  npm ERR! weird error 1 Assembler messages: Fatal error: can't create Release/obj.target/zmq/binding.o: No such file or directory make: *** [Release/obj.target/zmq/binding.o] Error 1 make: Leaving directory `/home/deepu/node_modules/zerorpc/node_modules/zmq/build' gyp ERR! build error  gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack     at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:267:23) gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17) gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12) gyp ERR! System Linux 3.16.0-60-generic gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild" gyp ERR! cwd /home/deepu/node_modules/zerorpc/node_modules/zmq gyp ERR! node -v v0.10.25 gyp ERR! node-gyp -v v0.10.10 gyp ERR! not ok  npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian  npm ERR! not ok code 0 

Then I tried to update the version using

sudo npm cache clean -f sudo npm install -g n sudo n stable  sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node 

given by https://askubuntu.com/questions/426750/how-can-i-update-my-nodejs-to-the-latest-version but I am getting 'bash: /usr/bin/node: No such file or directory' error

回答1:

I upgraded it to 4.3.0 version using

sudo npm cache clean -f sudo npm install -g n sudo n 4.3.0 

and then I used

sudo npm install zerorpc 

and it worked!

As for the bash: '/usr/bin/node: No such file or directory' error, I did

sudo apt-get install node-legacy 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!