Я попытался установить пакет zerorpc на узел, используя 'npm install zerorpc', и я получаю следующую ошибку. Ошибка заключается в том, что node-gyp не может быть восстановлен.Ошибка сборки узла-gyp при установке модулей узла
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 [email protected]: 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
> [email protected] install /home/deepu/node_modules/zerorpc/node_modules/zmq
> node-gyp rebuild
> [email protected] 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
Затем я попытался обновить версию с помощью
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
дается https://askubuntu.com/questions/426750/how-can-i-update-my-nodejs-to-the-latest-version, но я получаю не 'баш:/USR/BIN/узел: Нет такого файла или каталога' Ошибка
с помощью пакета 'n' означает, что вы никогда не должны создавать символические ссылки. Как работает 'n', он автоматически заменяет двоичные файлы. Таким образом, двоичный путь никогда не изменяется. 'какой узел' скажет вам, где находится этот двоичный файл. Вероятно, это '/ usr/local/bin', а не' usr/bin'. Дважды проверьте переменную $ PATH и убедитесь, что/usr/local/bin находится рядом с фронтом. Вероятно, из-за того, что ваша переменная $ PATH подбирает вашу устаревшую установку на каком-то пути раньше того, что 'n' заменяет. – cdbajorin
Я обновил его до версии 4.3.0 с помощью «sudo n 4.3.0», а затем использовал «sudo npm install zerorpc», и он сработал! – dsl1990