安装zmq失败的npm命令

5
我尝试使用npm install zmq命令,但是出现了以下错误:
make: Entering directory '/home/lucas/dir/node_modules/zmq/build'
  CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:17: fatal error: zmq.h: No such file or directory
compilation terminated.
zmq.target.mk:94: recipe for target 'Release/obj.target/zmq/binding.o' failed
make: *** [Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory '/home/lucas/dir/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/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276: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:215:12)
gyp ERR! System Linux 4.4.0-59-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/lucas/dir/node_modules/zmq
gyp ERR! node -v v7.4.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
npm WARN projectName@1.0.0 No repository field.
npm ERR! Linux 4.4.0-59-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "zmq"
npm ERR! node v7.4.0
npm ERR! npm  v4.0.5
npm ERR! code ELIFECYCLE

npm ERR! zmq@2.15.3 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the zmq@2.15.3 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the zmq 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 information on how to open an issue for this project with:
npm ERR!     npm bugs zmq
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls zmq
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/lucas/dir/npm-debug.log

以下是那个npm-debug.log的pastebin链接:

http://pastebin.com/UGLDEWin

有没有人知道发生了什么?看起来像是编译出错了。你可以看到,我的Node.js版本是7.x,不是旧版本。而NPM是4.x,应该可以正常工作,对吗?


已将npm更新至4.1.2版本,但仍无法正常工作。 - user6791424
4个回答

3

关于最新Ubuntu的更新:

sudo apt-get install libtool pkg-config build-essential autoconf automake
sudo apt-get install libzmq3-dev

什么是“最新的Ubuntu”? - Stealth Rabbi
@StealthRabbi 在我写这篇文章的时候,它是最新版本,现在不确定。 - loretoparisi

1

在 Unix/Mac 上安装:

首先安装 pkg-config 和 ZeroMQ library

本模块兼容 ZeroMQ 版本 2、3 和 4。安装过程因平台而异,但头文件是必需的。大多数 Linux 发行版都会通过 -devel 包(如 zeromq-devel 或 zeromq3-devel)提供这些头文件。Homebrew for OS X 提供版本 4 和 3 的 zeromq 和 zeromq3 包。对于想要比其分发版本更新的 Debian 用户,可以使用 Chris Lea PPA。

对于 Windows

首先安装 Visual Studio 和 Node.js 或 io.js。

确保从磁盘上一个不带有不寻常字符或空格的保守位置构建 zmq,例如 C:\sources\myproject。

在 Windows 上,安装 ZeroMQ 库是可选的,不是必需的。我们建议在 github for windows shell 或类似环境中运行 npm install 和 node 可执行命令。

https://www.npmjs.com/package/zmq


1
尝试以下操作:

sudo apt-get install build-essential checkinstall

然后,重新启动npm install。

如果再次失败,您可以尝试全局安装node-gyp:

npm install -g node-gyp

6
似乎问题出在zmq@2.15.3的安装脚本上。 你尝试过以下操作吗:`sudo apt-get install libtool pkg-config build-essential autoconf automake` `sudo apt-get install libzmq-dev`然后重新尝试安装该软件包。 - Francesco De Rosa
2
我将Node版本更改为v9.11.2,然后它就可以工作了。https://github.com/nodejs/nan/issues/763 - zono
安装sudo apt-get install libzmq-dev似乎已经成功了! - Shaze

0

以下是在运行sudo apt-get install libzmq3-dev并确保已安装其他答案中的所有软件包后,我用来避免Error:'make' failed with exit code:2错误的方法:

从文档中得知:

To use your system's libzmq (if it has been installed and development headers are available):

npm install zeromq@5 --zmq-external

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接