2016-10-17 26 views
0

Ich versuche, Graphen-PK11-Knoten-JS-Modul zur Interaktion mit SoftHSM2 zu installieren. Ich verwende Knoten V4.6.0 und npm 2.15.9Knotenmodul 'Graphen-PK11' kann nicht installiert werden

Wenn ich den Befehl npm install graphene-pk11, führen erhalte ich die Fehler enoent ENOENT: no such file or directory, chmod '/home/lzuniga/development/HsmTest/node_modules/graphene-pk11/build/console/console.js', die ich auf mehreren Foren blickte auf und versucht, eine Menge von Lösungen/Workarounds wie Laufen npm cache clean oder Entfernen des Ordners node_modules.

ich auch die Graphen-Quelle von github's repo heruntergeladen und versucht, es zu benutzen, wie in neebz und theprogrammer die Antworten auf this question (erstellt einen node_modules Ordner in meinem Projektordner und legen Graphen Quellordner dort angegeben, dann auf meine app.js ich Datei da keiner für mich die Lösungen für die ENOENT Fehler gearbeitet hinzugefügt var graphene = require("graphene-pk11");), aber der Fehler war Cannot find module 'graphene-pk11'

Es sollte ein npm Problem sein, aber ich weiß nicht, ob es ein anderes Problem in diesem Modul sein könnte. ..

BEARBEITEN Wenn ich npm install innerhalb des Graphen Projektverzeichnis ausführen, das ich in das node_modules Verzeichnis heruntergeladen und kopiert, erhalte ich die folgende Ausgabe:

$ npm install 
npm WARN package.json [email protected] No bin file found at ./build/console/console.js 
npm WARN deprecated [email protected]: Install [email protected] instead 

> [email protected] install /home/lzuniga/development/HsmTest/node_modules/graphene/node_modules/pkcs11js 
> node-gyp rebuild 

make: Entering directory `/home/lzuniga/development/HsmTest/node_modules/graphene/node_modules/pkcs11js/build' 
    CXX(target) Release/obj.target/pkcs11/src/main.o 
    CXX(target) Release/obj.target/pkcs11/src/dl.o 
    CXX(target) Release/obj.target/pkcs11/src/const.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/error.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/v8_convert.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/template.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/mech.o 
../src/pkcs11/mech.cpp: In member function ‘void Mechanism::Free()’: 
../src/pkcs11/mech.cpp:121:15: warning: deleting ‘void*’ is undefined [enabled by default] 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/param.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/param_aes.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/param_rsa.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/param_ecdh.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/pkcs11.o 
    CXX(target) Release/obj.target/pkcs11/src/async.o 
    CXX(target) Release/obj.target/pkcs11/src/node.o 
    SOLINK_MODULE(target) Release/obj.target/pkcs11.node 
    COPY Release/pkcs11.node 
make: Leaving directory `/home/lzuniga/development/HsmTest/node_modules/graphene/node_modules/pkcs11js/build' 
npm WARN engine [email protected]: wanted: {"node":">=5"} (current: {"node":"4.6.0","npm":"2.15.9"}) 
npm WARN engine [email protected]: wanted: {"node":">=5"} (current: {"node":"4.6.0","npm":"2.15.9"}) 
npm WARN engine [email protected]: wanted: {"node":">=5"} (current: {"node":"4.6.0","npm":"2.15.9"}) 
npm ERR! Linux 3.2.0-4-amd64 
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" 
npm ERR! node v4.6.0 
npm ERR! npm v2.15.9 
npm ERR! path /home/lzuniga/development/HsmTest/node_modules/graphene/build/console/console.js 
npm ERR! code ENOENT 
npm ERR! errno -2 
npm ERR! syscall chmod 

npm ERR! enoent ENOENT: no such file or directory, chmod '/home/lzuniga/development/HsmTest/node_modules/graphene/build/console/console.js' 
npm ERR! enoent This is most likely not a problem with npm itself 
npm ERR! enoent and is related to npm not being able to find a file. 
npm ERR! enoent 

npm ERR! Please include the following file with any support request: 
npm ERR!  /home/lzuniga/development/HsmTest/node_modules/graphene/npm-debug.log 
+0

Zeigt die Fehlermeldung wörtlich '/ Pfad zu Projekt/node_modules/graphene-pk11/build/console/console.js'?Denn außer Sie haben einen Ordner mit dem Namen 'path-to-project' in Ihrem root, der natürlich fehlschlägt. Vielleicht sollten Sie die richtigen Befehle anzeigen, die Sie verwenden. – Qix

+0

Nein, ich habe es für den tatsächlichen Pfad geändert, um weitere Verwirrungen zu vermeiden – myrmix

+0

Autor dieser Bibliothek, sah dies einfach. Haben Sie immer noch Probleme? Wenn dies der Fall ist, reichen Sie bitte einen Fehler im Repo ein, der Ihnen gerne weiterhilft. – rmhrisk

Antwort

0

Es scheint ein Problem zu sein, mit ihren zu npm veröffentlichen. Das Problem ist, dass zum Zeitpunkt der Ausführung npm install graphene-pk11 die folgende Datei, die es sucht, Paket.json nicht existiert.

"bin": { 
    "graphene": "./build/console/console.js" 
    }, 

Ich versuchte es selbst in ein neues Verzeichnis zu installieren und hatte das gleiche Problem.

Sie können es verwenden, wenn Sie den Quellcode klonen. Navigieren Sie nach dem Klonen zum Projektverzeichnis, das graphene heißen sollte. Führen Sie npm install innerhalb des Graphen-Projekts aus. Es gibt eine Zeile innerhalb ihrer package.json, die "postinstall": "npm run build", besagt, die den Build-Prozess automatisch nach der Installation aller erforderlichen Abhängigkeiten ausführt.

Angenommen, Sie den Quellcode in Ihre node_modules geklont, können Sie das Modul zugreifen, wie folgt:

var graphene = require('graphene'); 

Das Problem, das Sie bei dem Versuch, musste der Quellcode zu verwenden war, dass man nicht npm install und Sie hatten laufen versuchten, graphene-pk11 statt graphene zu verlangen.

Wir benötigen graphene hier, weil der Name des Verzeichnisses innerhalb node_modules ist graphene, oder zumindest das ist der Name des Verzeichnisses, wenn ich die Quelle geklont. Sie könnten das Projektverzeichnis in node_modules immer zu graphene-pk11 umbenennen, und dann benötigen Sie nur graphene-pk11. Ich habe das an meinem Computer ausprobiert und das alles hat funktioniert. Lassen Sie es mich wissen, wenn Sie Probleme haben.

Dies wäre jedoch eine temporäre Lösung. Es sollte nicht notwendig sein, dies zu tun, um ihren Code zu verwenden. Ich würde ein Thema auf Github mit ihnen öffnen, wenn ich du wäre. Ihre package.json sagt auch "prepublish": "npm run build",, die auch den Build-Prozess vor der Veröffentlichung in npm ausführen sollte, aber aus welchem ​​Grund auch immer, das hat nicht geklappt.

+0

Ja, das Projektverzeichnis heißt Graphen, ich habe 'npm install' in diesem Verzeichnis ausgeführt, aber ich habe das gleiche Problem, die Datei console.js existiert nicht. Dies ist Teil der Ausgabe: 'npm ERR! argv "/ usr/bin/nodejs" "/ usr/bin/npm" "installieren" npm ERR! Knoten v4.6.0 npm ERR! npm v2.15.9 npm ERR! Pfad /home/lzuniga/development/HsmTest/node_modules/graphen/build/console/console.js npm ERR! Code ENOENT npm ERR! errno -2 npm ERR! syscall chmod npm ERR! enoent ENOENT: keine solche Datei oder kein Verzeichnis, chmod '/ home/lzuniga/Entwicklung/HsmTest/node_modules/graphen/build/console/console.js'' – myrmix

+0

Ich hatte bereits versucht, das Projektverzeichnis "graphene-pk11" umzubenennen, so dass es würde der Eigenschaft name in package.json entsprechen – myrmix

Verwandte Themen