2016-02-27 2 views
0

Я попытался установить пакет 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/узел: Нет такого файла или каталога' Ошибка

+0

с помощью пакета 'n' означает, что вы никогда не должны создавать символические ссылки. Как работает 'n', он автоматически заменяет двоичные файлы. Таким образом, двоичный путь никогда не изменяется. 'какой узел' скажет вам, где находится этот двоичный файл. Вероятно, это '/ usr/local/bin', а не' usr/bin'. Дважды проверьте переменную $ PATH и убедитесь, что/usr/local/bin находится рядом с фронтом. Вероятно, из-за того, что ваша переменная $ PATH подбирает вашу устаревшую установку на каком-то пути раньше того, что 'n' заменяет. – cdbajorin

+0

Я обновил его до версии 4.3.0 с помощью «sudo n 4.3.0», а затем использовал «sudo npm install zerorpc», и он сработал! – dsl1990

ответ

1

Я модернизировал его 4.3.0 версии с использованием

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

, а затем я использовал

sudo npm install zerorpc 

И это сработало!

Что касается Баш: «/ USR/бен/узел: Нет такого файла или каталога» ошибка, я сделал

sudo apt-get install node-legacy