it-swarm.com.de

"Python-Programmdatei kann nicht gefunden werden ..." - Die Installation von npm hängt

Ich verwende "npm install", um alle Abhängigkeiten einer kleinen node.js-App herunterzuladen und zu kompilieren, die ich geschrieben habe. Die von mir verwendete "package.json" -Datei ist korrekt und enthält alle erforderlichen Informationen.

Eines der zu installierenden Pakete hat "node-gyp" als Abhängigkeit, daher habe ich zuvor das Paket "python2" installiert.

Nun bekomme ich zu einem bestimmten Zeitpunkt Fehlermeldungen:

> node-gyp rebuild

gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at failNoPython (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:103:14)
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:42:11
gyp ERR! stack     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:25)
gyp ERR! stack     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29)
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:99:15)
gyp ERR! System Linux 3.18.9-200.fc21.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak
gyp ERR! node -v v0.12.1
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing [email protected]

Das Problem scheint zu sein, dass eine Umgebungsvariable fehlt. 

Kann mir jemand die richtige Richtung zeigen? Egal, wo ich im Internet suche, es wird keine "PYTHON" -Variable erwähnt, nur "PYTHONPATH" und andere mögen es. Was ist der richtige Weg, um das Problem zu beheben, damit ich diese Fehler nicht bekomme?

UPDATE 1:

Nach den folgenden Hinweisen aus diesem Thread habe ich diese Befehle hinzugefügt, bevor "npm install" ausgeführt wurde:

PYTHON=/usr/sbin/python2
export PYTHON

Jetzt erhalte ich diesen Fehler:

> node-gyp rebuild

gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:28)
gyp ERR! stack     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29)
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:99:15)
gyp ERR! System Linux 3.18.9-200.fc21.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak
gyp ERR! node -v v0.12.1
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing [email protected]

Ich finde es absurd, dass es heißt "... nicht gefunden: machen ...". Gibt es eine Möglichkeit, dass es so ist? Wenn ja, wie kommt es, dass Pakete korrekt installiert werden?

Ehrlich gesagt verstehe ich nichts. Irgendwelche Ideen?

8
dsljanus

Das Wichtigste zuerst: Ich möchte mich bei allen bedanken, die mir bei meiner Ausgabe geholfen haben, insbesondere bei @adarsh.

Jetzt war das eigentliche Problem, dass mir "make" und "gcc" fehlten. Als eine Compilermeldung dies vorschlug, fand ich es zunächst absurd. Denken Sie jedoch daran, dass dies ein Bild ist, das aus der Docker-Registrierung gezogen wurde. 

Ich habe "pacman -S - noted --noconfirm make gcc" in meine Docker-Datei eingefügt, und der Build-Vorgang wurde erfolgreich abgeschlossen.

Es versteht sich von selbst, dass ich auch die vorgeschlagenen Änderungen an den Umgebungsvariablen vornehmen musste.

2
dsljanus

Versuchen Sie, dies auszuführen

PYTHON=$PYTHON:/usr/bin/python
export PYTHON

Fügen Sie dies der Profildatei hinzu (wie ~/.bash_profile usw., abhängig von Ihrer Shell), um es dauerhaft zu machen.

Wenn Ihr Python nicht in /usr/bin/python installiert ist, können Sie which python ausführen, um herauszufinden, wo er installiert ist.

4
adarsh

Das hat für mich funktioniert ..

node-gyp --python C:\Users\username\.windows-build-tools\python27\python.exe build

Wir müssen auf python.exe nicht nur auf den Installationsordner verweisen.

1
hacker