0

我尝试nanomsg在 linux 机器上安装,所以我这样做了

npm install nanomsg --python=python2.7

我使用--python=python2.7选项,因为我有两个不同版本的 python。但是,该命令失败并出现这种错误消息

make: Entering directory `/qt_home/{my_username}/node_modules/nanomsg/build'
  CC(target) Release/obj.target/nanomsg/deps/nanomsg/src/aio/ctx.o
cc1: error: unrecognized command line option "-Wno-maybe-uninitialized"
make: *** [Release/obj.target/nanomsg/deps/nanomsg/src/aio/ctx.o] Error 1
make: Leaving directory `/qt_home/{my_username}/node_modules/nanomsg/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270: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:204:12)
gyp ERR! System Linux 2.6.18-409.el5
gyp ERR! command "/usr/local/bin/node" "/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /qt_home/{my_username}/node_modules/nanomsg
gyp ERR! node -v v6.2.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm ERR! Linux 2.6.18-409.el5
npm ERR! argv "/bin/node" "/bin/npm" "install" "nanomsg" "--python=python2.7"
npm ERR! node v4.2.1
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! nanomsg@3.2.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the nanomsg@3.2.0 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the nanomsg 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 their info via:
npm ERR!     npm owner ls nanomsg
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /qt_home/{my_username}/npm-debug.log

我在互联网上搜索了这个,但找不到任何有用的东西。到目前为止,我已经找到了这个链接,但它对我没有帮助。

我的node js版本是 6.2.2,npm版本是 2.14.7。

有什么想法或建议吗?

4

2 回答 2

0

您是否尝试过,使用 sudo 进行安装。有时它需要某些部分。

sudo npm install nanomsg --python=python2.7

我也不太熟悉 Python 但你可以添加直接路径而不是 python2.7

sudo npm install nanomsg --python=/usr/bin/python2.7
于 2016-06-22T10:29:54.090 回答
0

错误信息

cc1:错误:无法识别的命令行选项“-Wno-maybe-uninitialized”

表示您的编译器不支持该选项-Wno-maybe-uninitialized

用于构建 de nanomsg 库的编译器选项在 linux.gypi 中 定义

'cflags': [
'-O3', '-Wall', '-Wextra', '-Wno-sign-compare', '-Wno-strict-aliasing',
'-Wno-unused', '-Wno-char-subscripts', '-Wno-maybe-uninitialized',
'-Wno-implicit-function-declaration', '-lpthread',
],

为了nanomsg根据您的编译器使用配置来构建它,您可以这样进行:

git clone https://github.com/nanomsg/nanomsg
cd nanomsg
./configure
cmake .
make 
sudo make install
sudo cp /usr/local/lib/pkgconfig/naming.pc /usr/local/lib/pkgconfig/libnaming.pc 

接下来你应该能够运行:

npm install nanomsg --use_system_libnanomsg=true
于 2016-07-02T10:54:26.377 回答