381 Stimmen

'npm' wird nicht als interner oder externer Befehl erkannt, ein ausführbares Programm oder eine Batchdatei.

Ich bin komplett neu in Nodejs. Ich versuche, Nodejs auf meinem Windows 2008-Box zum Laufen zu bringen, um Karma zu installieren, den ich für TDDing meines AngularJs-Codes verwenden würde. Bisher habe ich die folgenden Schritte unternommen

  1. Installation mit Chocolatey ==> npm wird nicht erkannt
  2. Installation mit 64-Bit-Nodejs-Installer von nodejs.org ==> npm wird nicht erkannt
  3. Zu diesem Zeitpunkt, beim Ausführen von where npm, erhalte ich c:\User\\AppData\Roaming\npm, in dem sich nichts befindet
  4. Ich finde heraus, dass nodejs in C:\Program Files\nodejs installiert ist. Das Öffnen eines Eingabeaufforderungsfensters in diesem Verzeichnis macht npm gut funktionieren.
  5. Also habe ich C:\Program Files\nodejs zu PATH hinzugefügt, nur um wieder den gleichen Fehler zu erhalten, dass npm nicht erkannt wird
  6. Eines der GitHub-Probleme im Nodejs-Repository besagt, dass ich den Computer neu starten müsste und das Problem behoben werden würde. Aber das hat bisher nicht geholfen
  7. Ich sehe ein Node.js Symbol in meinem Start -> Programme Menü, das mich zur Nodejs-Konsole führt, aber ich bin mir nicht sicher, was ich damit machen soll.

Habe ich einen wichtigen Schritt im Prozess verpasst?

Bearbeiten

Ich habe herausgefunden, dass wenn ich "Nodejs-Befehlsprompt" aus dem Programmverzeichnis öffne, dann wird npm erkannt. Wie kann ich es auf einer normalen Eingabeaufforderung zum Laufen bringen?

Bearbeiten

Nach node habe ich mit einer anderen Anwendung ein ähnliches Problem. Ich habe diese Frage auf Superuser gepostet und wie es im akzeptierten Antwort richtig festgestellt wurde, hatte ich ein zusätzliches Anführungszeichen in meinem PATH, das Probleme mit allen Pfaden verursachte, die nach dem Anführungszeichen hinzugefügt wurden. Ich habe das Gefühl, dass irgendeine Chocolatey-Installation dieses störende Anführungszeichen hinzufügt, bin mir aber nicht sicher, welche.

10voto

مهدی Punkte 313

Ignoriere alle Tipps, führe einfach die folgende Zeile in der cmd aus

> SET PATH=C:\Program Files\Nodejs;%PATH%

5voto

Ehsan Mahpour Punkte 131

Wenn Sie diesen Fehler über einen Dienstaccount wie z.B. den Visual Studio TFS Build-Controller-Dienst oder einen anderen Hintergrunddienst erhalten, stellen Sie sicher, dass Sie den Dienst nach der Installation von npm neu starten, da die neuen PATH-Umgebungseinstellungen von bereits laufenden Prozessen nicht übernommen werden. Ich habe denselben Fehler über meinen Build-Service erhalten, aber ich hatte npm installiert und lief im Konsolenmodus.

5voto

shet_tayyy Punkte 4735

Sie haben möglicherweise bereits eine Antwort erhalten, aber dies könnte anderen helfen, da ich kürzlich dasselbe Problem hatte und dies ist, was ich getan habe:

  1. Einen Pfad für Powershell hinzufügen. Bei mir war der Pfad C:\Windows\System32\WindowsPowerShell\v1.0

  2. Dann habe ich die Eingabeaufforderung mit Administratorrechten geöffnet und folgenden Befehl ausgeführt:

    @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

  3. Danach choco install nodejs

  4. Neustart und alles hat funktioniert. Versuchen Sie, die Eingabeaufforderung ohne Administratorrechte zu öffnen und npm -v auszuführen

Prost.

4voto

jacobian Punkte 141

Hatte das gleiche Problem unter Windows 8.1 64 Bit.
Es stellte sich heraus, dass ich dieses Problem habe, wenn ich cmd starte, indem ich es in die Pfadleiste oben im Ordnerfenster eingebe
oder
wenn ich im Ordnerfenster mit der rechten Maustaste klicke und dann Eingabeaufforderung aus der Liste öffne.

Wenn ich cmd mit "Ausführen" ausführe oder einfach über die cmd.exe-Datei starte, funktioniert es.

3voto

Gitesh Punkte 649

Wenn alles gut aussieht, würde ich empfehlen, dies für PATHEXT zu überprüfen. .CMD muss hinzugefügt werden. Hier Bildbeschreibung eingeben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X