我需要安装zerorpc
。如文档中所述,我首先安装了zeromq
,然后尝试了以下命令:npm install -g zerorpc
,但出现此错误:-
C:\WINDOWS\system32>npm install -g zerorpc
> zeromq@4.6.0 install C:\Users\Admin\AppData\Roaming\npm\node_modules\zerorpc\node_modules\zeromq
> node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)
prebuild-install WARN install No prebuilt binaries found (target=10.15.1 runtime=node arch=x64 platform=win32)
Downloading libzmq for Windows
Download finished
C:\Users\Admin\AppData\Roaming\npm\node_modules\zerorpc\node_modules\zeromq>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "node C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
internal/modules/cjs/loader.js:583
throw err;
^
Error: Cannot find module 'C:\Users\Admin\AppData\Roaming\npm\node_modules\zerorpc\node_modules\zeromq\node C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zeromq@4.6.0 install: `node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zeromq@4.6.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Admin\AppData\Roaming\npm-cache\_logs\2019-02-16T04_42_24_207Z-debug.log
package.json
{
"name": "pretty-calculator",
"version": "1.0.0",
"description": "A minimal Electron and Python - based calculator ",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"repository": "https://github.com/fyears/electron-python-example",
"keywords": [
"Electron",
"Python",
"zerorpc",
"demo"
],
"author": "fyears",
"license": "MIT",
"dependencies": {
"zerorpc": "git+https://github.com/0rpc/zerorpc-node.git"
},
"devDependencies": {
"electron": "^1.7.6",
"electron-packager": "^9.0.1"
}
}
节点版本:v10.15.1
npm版本:6.4.1
Link of article i was referring。
如何解决它,请帮忙!
答案 0 :(得分:1)
请勿使用'zerorpc'并使用'zeromq'来交流nodejs和python。
请使用https://zeromq.org/languages/python/'安装Python,并使用https://zeromq.org/languages/nodejs/'安装nodejs
python:pip安装pyzmq
nodejs:npm安装zeromq @ 5
---- python代码----
import zmq
context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect("tcp://127.0.0.1:5502")
for counter in range(0, 100001):
socket.send(b"Hello")
message = socket.recv()
if counter % 1000 == 0:
print(message, counter)
---- nodejs ----
var zeromq = require("zeromq");
var socket = zeromq.createSocket('rep');
socket.bind("tcp://127.0.0.1:5502",
function(err)
{
if (err) throw err;
console.log("Bound to port 5502.");
socket.on('message', function(envelope, blank, data)
{
console.log(envelope.toString('utf8'));
socket.send(envelope.toString('utf8') + " Blancmange!");
});
socket.on('error', function(err) {
console.log("Error: "+err);
});
}
);
答案 1 :(得分:0)
从您的日志中看,zeromq
似乎未成功安装,我建议您再次运行
npm install --save zeromq
成功安装后,即可继续运行npm install --save zerorpc
。
编辑:我建议您在这里package.json
进行一些操作,完全删除node_modules
目录,然后打开package.json
并替换
"dependencies": {
"zerorpc": "git+https://github.com/0rpc/zerorpc-node.git"
},
使用
"dependencies": {
"zeromq": "^5.1.0",
"zerorpc": "^0.9.8"
},
然后运行npm install
让我知道进展如何。
答案 2 :(得分:0)
操作系统:Mac
最终解决方案:将node
版本从v13.5.0
降为 v8.17.0