2
votes

Impossible d'installer zerorpc à l'aide de npm

Je dois installer zerorpc . Comme mentionné dans la documentation, j'ai d'abord installé zeromq puis essayé cette commande: npm install -g zerorpc mais j'obtiens cette erreur: -

{
  "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"
  }
}

package.json

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

version du nœud: v10.15.1 version npm: 6.4.1

Lien de l'article auquel je faisais référence .

Comment le résoudre, aidez s'il vous plaît !!


6 commentaires

avez-vous réussi à installer zeromq?


avez-vous exécuté ldconfig ?


@Wicak Oui je pense que oui bcz quand j'exécute la commande npm -v zeromq il renvoie 6.4.1


@antzshrek non je n'ai pas exécuté ldconfig


@NihalKarne Pouvez-vous essayer d'exécuter npm -v zerorpc pour voir ce que vous obtenez?


@antzshrek j'ai exécuté npm -v zerorpc et j'ai obtenu ce résultat C: \ Windows \ System32> npm -v zerorpc était 6.4.1


3 Réponses :


0
votes

D'après votre journal, il semble que zeromq n'a pas été installé avec succès, je vous suggérerai à nouveau d'exécuter

  "dependencies": {
    "zeromq": "^5.1.0",
    "zerorpc": "^0.9.8"
  },

une fois l'installation réussie, vous pouvez continuer et lancez votre npm install --save zerorpc .


Edit: Je vais vous suggérer de jouer un peu avec votre package.json code > ici, supprimez complètement le répertoire node_modules , puis vous ouvrez votre package.json et remplacez

"dependencies": {
  "zerorpc": "git+https://github.com/0rpc/zerorpc-node.git"
},

par p>

npm install --save zeromq

puis exécutez npm install

dites-moi comment ça se passe.


10 commentaires

oui zeromq est installé je pense que bcz quand j'exécute la commande npm -v zeromq cela montre 6.4.1


@NihalKarne npm -v zeromq n'a rien à voir avec votre installation, il vous indique seulement la version de zeromq que vous avez installée.


Je pensais que si son installation était réussie, il exécutera cette commande. J'exécute npm install zeromq plusieurs fois que la sortie est + zeromq@5.1.0 mis à jour 1 package dans 2.846s Alors que dois-je faire maintenant?


pouvez-vous essayer d'exécuter l'installation pas en mode global? Je veux dire npm install --save zeromq alors voyons le résultat


J'ai exécuté la commande dans le dossier du projet, j'ai obtenu ceci: > node scripts / prebuild-install.js || (node ​​scripts / preinstall.js && node-gyp rebuild) + zeromq@5.1.0 a supprimé 5 packages, mis à jour 1 package et vérifié 739 packages dans 3.702s


génial! Je suppose que vous avez un essai alors. Confirmez que vous l'avez bien installé en démarrant votre application afin d'être sûr de ne pas avoir de dépendances cassées.


Non encore la même erreur lorsque j'ai exécuté la commande d'installation zerorpc . Je ne sais pas pourquoi cela se produit.


npm -v zeromq return 6.4.1 ; pour npm install -g zeromq msg de sortie est zeromq@5.1.0 et dans l'erreur ci-dessus, nous pouvons voir zeromq@4.6.0 Alors quoi est faux pourquoi je ne peux pas terminer l'installation de zerorpc. S'il vous plaît, j'en ai besoin pour mon exécution de code.


quelle version de npm et de nœud utilisez-vous?


pouvez-vous mettre à jour votre question avec votre package.json ?



0
votes

Système d'exploitation: Mac

Solution finale: rétrograder la version du node de v13.5.0 à v8.17.0


1 commentaires

La rétrogradation de Nodejs de lts / fermium (14.15.1) à lts / dubnium (10.23.0) a fait l'affaire pour moi.



1
votes

N'utilisez pas 'zerorpc' et utilisez 'zeromq' pour communiquer nodejs et python.

Veuillez installer Python en utilisant https://zeromq.org/languages/python/ ' et nodejs en utilisant https://zeromq.org/languages/nodejs/ '

python: pip install pyzmq

nodejs: npm install zeromq @ 5

---- code python ----

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);
                });
            }
);

---- nodejs ----

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)

TEST de l'image de code python

image de code TEST nodejs

image de l'écran en cours d'exécution


0 commentaires