Mac中npm安装zeromq时安装不成功,一直等待不结束(node scripts/prebuild-install.js || (node scripts/preinstall.js && no)

问题

在终端中输入命令 npm install zeromq --save --save-exact

JunkingdeMacBook-Pro-3973:zeromqTest junking$ npm install zeromq --save --save-exact

> [email protected] install /Users/junking/Documents/NodeFinder/zeromqTest/node_modules/zeromq

> node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)

然后终端就停留在这个地方不动了。 

如果查看package.json中的dependencies中也没有zeromq的版本号,说明未安装成功。

再用npm安装其他模块可以正常安装,说明很有可能是zeromq的问题。

解决

其实继续等待即可

 我们可以看到,安装足足用了4分钟,让我误以为哪里出了问题。

使用命令测试是否安装成功:

node -p -e "require('zeromq').version"

-e告诉node直接解析后面的字符串

-p告诉node直接将结果输出到控制台

zeromq模块的.version属性的值是ZeroMQ的二进制版本

查看libzmq二进制文件的版本号

原因

zeromq的安装间接调用了prebuid-install.js,用于下载安装Node.js预编译二进制文件的命令行工具。这个脚本会根据当前操作系统自动安装。

脚本的加载对应这一行

node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild) 

你或许会疑惑我们安装的是[email protected],但为何命令测试是4.2.2呢?

zeromq模块的.version属性的值是ZeroMQ的二进制版本,反映的是底层libzmq二进制文件的版本,而不是npm模块zeromq的版本

 

发布了122 篇原创文章 · 获赞 25 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/HuoYiHengYuan/article/details/100978211