it-swarm.com.de

NodeJS - Fehler bei der Installation mit NPM

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Windows\system32>npm install caress-server
npm http GET https://registry.npmjs.org/caress-server
npm http 304 https://registry.npmjs.org/caress-server
npm http GET https://registry.npmjs.org/jspack/0.0.1
npm http GET https://registry.npmjs.org/buffertools
npm http 304 https://registry.npmjs.org/jspack/0.0.1
npm http 304 https://registry.npmjs.org/buffertools

> [email protected] install C:\Windows\system32\node_modules\caress-server\node_
modules\buffertools
> node-gyp rebuild


C:\Windows\system32\node_modules\caress-server\node_modules\buffertools>node "G:
\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-
gyp.js" rebuild
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT
HON env variable.
gyp ERR! stack     at failNoPython (G:\nodejs\node_modules\npm\node_modules\node
-gyp\lib\configure.js:101:14)
gyp ERR! stack     at G:\nodejs\node_modules\npm\node_modules\node-gyp\lib\confi
gure.js:64:11
gyp ERR! stack     at Object.oncomplete (fs.js:107:15)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "node" "G:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\
bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Windows\system32\node_modules\caress-server\node_modules\buffert
ools
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the buffertools package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls buffertools
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "G:\\nodejs\\\\node.exe" "G:\\nodejs\\node_modules\\npm\\bin\\n
pm-cli.js" "install" "caress-server"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0

C:\Windows\system32>

Ich installiere ein bestimmtes NodeJS-Skript - Caress . Aber ich kann es nicht. Ich verwende Windows 8.1, kann mir jemand sagen, was für ein Problem ich habe und warum diese Installation nicht funktioniert. Es scheint ein Problem mit der Buffertools-Abhängigkeit zu geben, soweit ich denken kann. Weiß nicht, wie man das beheben könnte?

Wenn ich den Build von github herunterlade und in Knotenmodule platziere, scheint nichts zu funktionieren. wenn ich versuche zu starten, npm start oder während der implementierung.

G:\nodejs\node_modules\caress-server>npm install

G:\nodejs\node_modules\caress-server>npm start

> [email protected] start G:\nodejs\node_modules\caress-server
> node examples/server.js

   info  - socket.io started

module.js:340
    throw err;
          ^
Error: Cannot find module './build/Release/buffertools.node'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (G:\nodejs\node_modules\caress-server\node_modules\buf
fertools\buffertools.js:16:19)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

npm ERR! [email protected] start: `node examples/server.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the caress-server package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node examples/server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls caress-server
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "G:\\nodejs\\\\node.exe" "G:\\nodejs\\node_modules\\npm\\bin\\n
pm-cli.js" "start"
npm ERR! cwd G:\nodejs\node_modules\caress-server
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     G:\nodejs\node_modules\caress-server\npm-debug.log
npm ERR! not ok code 0

G:\nodejs\node_modules\caress-server>
185

https://github.com/nodejs/node-gyp/issues/629#issuecomment-153196245

AKTUALISIERT 02/2016

Einige npm-Plugins benötigen node-gyp, um installiert zu werden.

node-gyp hat jedoch eigene Abhängigkeiten ( von der Github-Seite ):

enter image description here

AKTUALISIERT 09/2016

Wenn Sie Windows verwenden, können Sie jetzt alle node-gyp-Abhängigkeiten mit einem einzigen Befehl installieren (HINWEIS: Als Admin in Windows PowerShell ausführen):

 $ npm install --global --production windows-build-tools

und installieren Sie das Paket

 $ npm install --global node-gyp

AKTUALISIERT 06/2018

https://github.com/nodejs/node-gyp/issues/809#issuecomment-155019383

Löschen Sie das Verzeichnis $ HOME/.node-gyp und versuchen Sie es erneut.

Die vollständige Dokumentation finden Sie hier: node-gyp

353
Ilan Frumer

Stellen Sie sicher, dass Sie über alle erforderliche Software verfügen, um node-gyp auszuführen:

Sie können die von node-gyp verwendete Version von Visual Studio über eine Umgebungsvariable konfigurieren, sodass Sie nicht jedes Mal, wenn Sie eine npm-Installation durchführen, die --msvs_version=2012-Eigenschaft festlegen müssen.

Beispiele: 

  • legen Sie GYP_MSVS_VERSION=2012 für Visual Studio 2012 fest 
  • set GYP_MSVS_VERSION=2013e (das 'e' steht für KOSTENLOS 'Express Edition') 

Für die vollständige Liste siehe - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Für Windows-Benutzer von NodeJS ist dies immer noch schmerzhaft, da davon ausgegangen wird, dass Sie eine Kopie von Visual Studio installiert haben und viele Endbenutzer dies niemals haben werden. Ich fordere Joyent daher auf, die Web-Sockets als Teil des CORE-Knotens einzubeziehen und möglicherweise einen GNU gcc-Compiler als Teil der NodeJS-Installation zu versenden, damit wir dieses Problem dauerhaft beheben können. 

Fühlen Sie sich frei, Ihre Stimme hinzuzufügen bei:

16
Tony O'Hagan

Ich bin auf das Problem mit dem Fehler gestoßen:

gyp ERR! configure error

gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

Hier ist was ich gemacht habe und was endlich funktioniert hat.

Disclaimer : Ich komme gerade nach vielen Jahren in der Java-, Linux-Welt ua in Node, Angular rein ...

Umgebungsbeschreibung : Windows 8.1 64-Bit; Cygwin; Cygwin Bash Shell

Befehl verwendet, der zu Fehler geführt hat : npm install -g karma

Fehler : Gyp ERR! Konfigurationsfehler gyp ERR! Stapelfehler: Python-Programmdatei "Python" kann nicht gefunden werden. Sie können die PYT HON-Umgebungsvariable festlegen.

Discovery : "which python" auf bash Shell zeigt deutlich "/ usr/bin/python". Das ist nervig! 

Lösung : Dies gilt nur für Benutzer, die eine ähnliche Umgebung wie ich verwenden, z. B. cygwin und bash Shell. Ich hoffe, es hilft auch in anderen Umgebungen, aber denken Sie daran, dass Ihr Teekessel ein bisschen anders aussieht als bei mir. 

  1. Zuerst muss die $ PYTHON Shell-Umgebungsvariable in .bashrc festgelegt werden. Verwenden Sie dabei den expliziten Windows-Pfad zur ausführbaren Python-Datei und nicht den von cygwin verwendeten unix-ähnlichen Root-Pfad (/ usr/bin).
  2. Zweitens, und dieser hier hat viel Probe/Fehler gefordert und hier ist die Gotcha! Cygwin installiert Python unter/usr/bin (was wirklich ein Spiegel von/bin unter Windows ist) mit der Version, dh (in meinem System) /usr/bin/python2.7.exe und fügt dann einen Link/usr/bin/hinzu. python -> python2.7.exe. Das Problem ist, dass gyp diesem Link nicht folgen kann und weiterhin den ärgerlichen Fehler gibt, dass Python nicht gefunden werden kann, obwohl Sie es von der Shell-Befehlszeile aus gut finden können.
  3. Mit dem obigen Hintergrund fügen Sie Ihrem .bashrc jetzt die folgende Zeile hinzu

export PYTHON = "C: /cygwin64/bin/python2.7.exe (oder wie auch immer die Version auf Ihrem System ist)"

  1. Quellcode jetzt Ihre .bashrc aus Ihrem Home-Verzeichnis (auf cygwin) -> 'source.bashrc' 

Sie sollten jetzt in Ordnung sein und gyp findet die ausführbare Python-Datei.

Ich hoffe, das hilft jemandem, über dasselbe oder ein ähnliches Problem zu stolpern.

10
Andy

Richten Sie die JavaScript-Umgebung ein

1. Installieren Sie Node.js

Laden Sie das Installationsprogramm von NodeJs herunter. Sie können den neuesten V6 herunterladen 

2. Aktualisieren Sie Npm

Npm wird zusammen mit Node.js installiert. Also mach dir keine Sorgen.

3. Installieren Sie Anaconda

Anaconda ist die führende Open-Data-Science-Plattform von Python. Die Open-Source-Version von Anaconda ist eine Hochleistungsverteilung von Python. Es kann Ihnen helfen, Ihre Python-Abhängigkeit zu verwalten. Sie können es verwenden, um andere Python-Umgebungen in der weiteren Umgebung zu erstellen, wenn Sie sie berühren möchten.

Node-gyp unterstützt nur> = Python 2.7 und <Python 3.0

Installieren Sie also einfach die Version 2.7 

4. Installieren Sie Node-Gyp

Sie können mit npm installieren:

$ npm install -g node-gyp

Sie müssen auch installieren:

  • Unter Windows:

    • Option 1: Installieren Sie alle erforderlichen Tools und Konfigurationen mithilfe von Microsoft windows-build-tools und verwenden Sie npm install --global --production windows-build-tools von einer übergeordneten PowerShell oder CMD.exe (als Administrator ausführen).

    • Option 2: Tools und Konfiguration manuell installieren:

    • Visual C++ - Buildumgebung:

      • Option 1: Installieren Sie Visual C++ Build Tools mithilfe der Option Default Install.
      • Option 2: Installieren Sie Visual Studio 2015 (oder ändern Sie eine vorhandene Installation), und wählen Sie während der Installation Allgemeine Tools für Visual C++ aus. Dies funktioniert auch mit der kostenlosen Community- und Express für Desktop-Edition.

      ???? [Nur Windows Vista/7] erfordert .NET Framework 4.5.1

    • Starten Sie cmd, npm config set msvs_version 2015

    Wenn die oben genannten Schritte für Sie nicht erfolgreich waren, finden Sie weitere Informationen in den Microsoft Node.js-Richtlinien für Windows .

Wenn Sie mehrere Python-Versionen installiert haben, können Sie feststellen, welche Python-Version node-gyp verwendet wird, indem Sie die Variable '--python' setzen:

$ node-gyp --python C:/Anaconda2/python.exe

Wenn node-gyp über npmund aufgerufen wird und mehrere Versionen von Python installiert sind, können Sie den Python-Konfigurationsschlüssel von npm auf den entsprechenden Wert setzen:

$ npm config set python C:/Anaconda2/python.exe

Zukünftiges Update für Node.js und npm

Laden Sie das Installationsprogramm von der offiziellen Website herunter und installieren Sie es direkt. Das Installationsprogramm hilft Ihnen automatisch, alte Dateien zu entfernen.

npm update npm

Zukünftiges Update für Python

conda update --all

2
YoongKang Lim

sollte alle Knoten-Gyp-Abhängigkeiten mit chocolatey für Windows abrufen können

choco install python2
choco install visualstudioexpress2013windowsdesktop
2
tarikakyol

Für Cygwin-Benutzer:

Das Python-Problem bei der Verwendung von npm in einer einsatzbereiten Cygwin-Installation besteht darin, dass node-gyp einen irreführenden error ausgibt, da der ../npm/node_modules/node-gyp/lib/configure.js-Code nicht vollständig überprüft wurde.

Es liegt daran, wie Cygwin symbolische Links behandelt. Bei einer sofort einsatzbereiten Installation ist das nicht richtig. Daher werden die Fehlermeldungen aus dem obigen Code irreführend, da sie sich über den PYTHON-Pfad beschwert und nicht über das Vorhandensein der python.exe-Datei (oder eines Links) der Datei selbst.

Es gibt (mindestens) 2 Wege, um dieses Problem zu lösen. 

  1. Installation des Cygwin-Pakets cygutils-extra und Verwendung von winln.
  2. Verwenden Sie im Admin-Modus die native Windows-CMD.

Für (1) können Sie in Cygwin Shell einen geeigneten Symlink erstellen, indem Sie die folgenden Schritte ausführen:

# To make the Cygwin environment treat Windows links properly: 
# Alternatively add this to your `.bashrc` for permanent use.
export CYGWIN=winsymlinks:nativestrict

# Install Cygwin package containing "winln"
apt-cyg install cygutils-extra

# Make a proper Windows sym-link:
cd /cygdrive/c/cygwin64/bin/
winln.exe -s python2.7.exe python.exe

# Add PYTHON as a native Windows system wide variable (HKLM) 
setx /M PYTHON "C:\cygwin64\bin\python"

(Außerdem wird davon ausgegangen, dass Sie die Cygwin-Shell als Administrator ausführen.) Die Verwendung von apt-cyg wird empfohlen und kann in verschiedenen Formen auf github gefunden werden.


Für (2) ist die Auflösung für Cygwin-Benutzer wie folgt:

# Open a native Windows CMD in Administrator mode and:
cd C:\cygwin64\bin\
mklink python.exe python2.7.exe

Das Ergebnis sollte so aussehen:

C:\cygwin64\bin>ls -al python*
lrwxrwxrwx 1 xxx            xxx   13 Jun  2  2015 python -> python2.7.exe
lrwxrwxrwx 1 Administrators xxx   13 Aug 24 17:28 python.exe -> python2.7.exe
lrwxrwxrwx 1 xxx            xxx   13 Jun  2  2015 python2 -> python2.7.exe
-rwxr-xr-x 1 xxx            xxx 9235 Jun  2  2015 python2.7.exe
1
emigenix

Für Windows

Überprüfen Sie den Python-Pfad in der Systemvariablen . Npm-Plugins müssen node-gyp installiert sein.

Öffnen Sie den Befehl Eingabeaufforderung mit Administratorrechten und führen Sie den folgenden Befehl aus.

npm install --global --production windows-build-tools 

npm install --global node-gyp

1
Mahesh Gudadari

Behoben mit Downgrade von Node von v12.8.1 auf v11.15.0 und alles erfolgreich installiert

0
Maksym

Die Frage ist bereits beantwortet, aber diese funktionierten in meinem Fall, der auf einem Alpine Linux-basierten Betriebssystem basiert, nicht. Daher hilft dies vielleicht jemand anderem.

Ich bekam auch den gleichen Fehler

gyp ERR! configure error 
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

Wenn Sie in Dockerfile arbeiten oder es im Betriebssystem installieren, fügen Sie dies einfach in einer Zeile hinzu

apk add --no-cache python nodejs

in Ubuntu

Sudo apt-get install python3.6

Hinweis: Knotenversion: 8

0
Adiii

gyp ERR! fehler gyp ERR konfigurieren! Stapelfehler: Python kann nicht gefunden werden ausführbare Datei "Python", können Sie die PYT HON-Umgebungsvariable festlegen.

Dies bedeutet das Python-Env. Die Variable sollte auf die ausführbare Python-Datei zeigen. In meinem Fall: SET PYTHON=C:\work\_env\Python27\python.exe

0
Y. Aliaksei

installieren Sie node-gyp und den C++ - Compiler (gcc-c ++).

0

für mich war die Lösung:

rm -rf  ~/.node_gyp and
Sudo npm install -g [email protected]
cd /usr/local/lib Sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib 
brew install gcc
npm install
0
Orr

Ich habe appium von npm install -g appium installiert und den gleichen Fehler unter Windows 10 erhalten.

Der folgende Befehl arbeitete für mich:

npm --add-python-to-path='true' --debug install --global windows-build-tools

https://github.com/felixrieseberg/windows-build-tools/issues/33

0
hemanto