首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用npm安装zerorpc

无法使用npm安装zerorpc
EN

Stack Overflow用户
提问于 2019-02-16 15:03:35
回答 3查看 2.9K关注 0票数 4

我需要安装zerorpc。正如文档中提到的,我首先安装了zeromq,然后尝试了这个命令:npm install -g zerorpc,但我得到了这个错误:-

代码语言:javascript
复制
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

代码语言:javascript
复制
{
  "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

如何解决,请帮帮忙!

EN

回答 3

Stack Overflow用户

发布于 2020-11-10 22:36:56

不要使用'zerorpc‘,而要使用'zeromq’来与nodejs和python通信。

请使用'https://zeromq.org/languages/python/‘安装Python,使用'https://zeromq.org/languages/java/’安装nodejs

python : pip install pyzmq

nodejs : npm install zeromq@5

- python代码

代码语言:javascript
复制
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代码

代码语言:javascript
复制
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);
                });
            }
);

TEST python code image

TEST nodejs code image

running screen image

票数 2
EN

Stack Overflow用户

发布于 2019-12-27 18:03:48

操作系统: Mac

最终解决方案:将node版本从v13.5.0降级到v8.17.0

票数 0
EN

Stack Overflow用户

发布于 2019-02-16 16:34:10

从您的日志中看,zeromq似乎没有成功安装,我建议您再次运行

代码语言:javascript
复制
npm install --save zeromq

在成功安装之后,您可以继续运行您的npm install --save zerorpc

编辑:我建议你在这里使用你的package.json,完全删除node_modules目录,然后打开你的package.json并替换

代码语言:javascript
复制
"dependencies": {
  "zerorpc": "git+https://github.com/0rpc/zerorpc-node.git"
},

使用

代码语言:javascript
复制
  "dependencies": {
    "zeromq": "^5.1.0",
    "zerorpc": "^0.9.8"
  },

然后运行npm install

让我知道进展如何。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54720716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档