web-dev-qa-db-de.com

Wie funktioniert npm install auf git bash nicht?

Ich habe git bash open und gebe npm install ein und dann gibt es zurück:

bash: npm command not found

Ich verstehe das nicht, weil ich node.js-Eingabeaufforderung habe und wenn ich npm -v eingebe, dann 3.7.3 Wie kommt es, dass es nicht in Git funktioniert?

21
damien9999

in git bash typ ...

which npm

hier erfahren Sie, wo npm installiert ist.

jetzt gehe ich davon aus, dass dies Ihnen nichts geben wird, da es so aussieht, als ob npm nicht auf Ihrem Systempfad PATH liegt. Die PATH-Variable definiert, wo Windows nach Befehlen sucht.

Gehen Sie in Ihr Control Panel, klicken Sie auf Erweiterte Systemeinstellungen und fügen Sie das Verzeichnis mit npm zu Ihrem Pfad hinzu.

wenn Sie nicht wissen, wo es ist, dann öffnen Sie eine normale Windows-Konsole und geben Sie ...

where npm

dies zeigt Ihnen, wo es ist, damit Sie es Ihrem Pfad hinzufügen können

dann schließen sie ihr git bash terminal und öffnen sie es erneut und npm sollte funktionieren.

PS, wenn Sie die PATH-Variable in git bash überprüfen möchten, um sicherzustellen, dass sich der richtige npm-Ordner auf dem PATH befindet. Dann geben Sie einfach ...

echo $PATH

PPS Ein weiterer Tipp - Sie können den PATH für git bash nur über Ihre .bashrc OR .bash_profile-Dateien anpassen

16
danday74

Wenn Sie Windows verwenden, versuchen Sie Folgendes: Wechseln Sie in CMD zum Ordner 

C:\Program Files or (x86)\nodejs\

Dann probieren Sie folgendes aus

C:\Program Files\nodejs>set path=%PATH%;%CD%
C:\Program Files\nodejs>setx path "%PATH%"

Für mich geht das!

11
Tiago Oliveira

In unserem Fall bestand die Lösung darin, das Git-Bash-Fenster zu schließen und es erneut zu öffnen.

11
Ben

Der von git installierte Terminalemulator heißt Mintty . Um npm mit Mintty auszuführen, müssen Sie den Pfad zu einer Umgebungsvariablen hinzufügen. 

Fügen Sie Ihrer ~\.bash_profile-Datei die folgende Zeile hinzu. Wenn es nicht existiert, erstellen Sie es.

PATH="/usr/local/share/npm/bin:/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

Wenn Mintty startet, wird .bash_profile gelesen. Sie sollten jetzt npm von Mintty ausführen können.

Diese anderen Fragen können auch hilfreich sein.

https://unix.stackexchange.com/questions/26047/wie-zu-korrekter-addierbarer-Pfad- zum-Pfadhttps://askubuntu.com/questions/58814/ How-do-i-Add-Umgebungsvariablen

2
Marc Barbeau

sie müssen nodejs zusammen mit npm zu Ihrem Pfad hinzufügen 

wo Knoten

wo npm

2
Devnegikec

Angenommen, Sie verwenden Windows, um git-bash zu testen, und der Knoten wurde von Visual Studio installiert: Die Ursache ist möglicherweise ein npm-bash-Skript.

Im Pfad befindet sich eine npm.cmd-Baddatei: 

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\npm.cmd

Aber git bash führt keine .cmd-Dateien aus. Sie müssen also ein bash-Skript für npm erstellen.

Erstellen Sie die folgende Datei mit dem Namen npm in Ihrem Knotenordner: (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\)

 #!/bin/sh 
 basedir = `dirname" $ ​​0 "` 

 case `uname` in 
 * CYGWIN *) basedir = `cygpath -w" $ basedir "`;; 
 Esac 

 If [-x "$ basedir/node"]; dann
 "$ basedir/node" "$ basedir/node_modules/npm/bin/npm-cli.js" "$ @" 
 ret = $? 
 sonst 
 Knoten "$ basedir/node_modules/npm/bin/npm-cli.js" "$ @" 
 ret = $? 
 fi 
 exit $ ret 
1

Bist du unter Windows?

Wenn ja, können Sie zur Git Bash-Konsole gehen und Folgendes ausführen:

echo $PATH

und dann prüfen, ob der Knotenpfad (z. B. c/Programme/Knoten) vorhanden ist?

Wenn der Knotenpfad nicht vorhanden ist, müssen Sie ihn der Systempfadvariablen hinzufügen.

Wenn es dort ist, können Sie versuchen, npm zwischen Anführungszeichen zu setzen?

"npm"
1
Nevitones

Ich hatte das gleiche Problem und es gelang mir, das Problem zu lösen, indem ich die Systemvariable git enviornment vonC:\Programme\Git\cmdinC:\Program Files änderte\Git

Hoffe das hilft jemandem

0
user3182237

Ich musste der Systemvariablen Node path hinzufügen und neu starten. Aus irgendeinem Grund war es nicht genug, Git Bash zu schließen und wieder zu öffnen

0
Terix