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.

0voto

anon37894203 Punkte 488

Ich habe nvm benutzt, wie in anderen Antworten hier, aber in meinem Fall hatte ich Node nicht installiert, bevor ich nvm verwendet habe. Der npm Befehl hat einfach aufgehört zu funktionieren, ohne ersichtlichen Grund, aber wenn ich zu einer anderen Node-Version gewechselt bin, hat es funktioniert. Also bin ich einfach zu einer älteren Version gewechselt, habe die neueste Version deinstalliert und neu installiert, und npm hat wieder funktioniert.

0voto

Mehedi Zamadar Punkte 41

Dieses Problem ist mir aufgetreten, als ich versuchte, eine andere Version von Node mit nvm zu verwenden. Ich habe Node extern installiert und dann versucht, eine andere Node-Version mit nvm zu verwenden. Deshalb war npm nicht erkennbar. Hier ist also, was ich getan habe:

  1. Node.js entfernen
  2. die spezifische Node-Version mit nvm installieren

nvm install 12

  1. diese Version mit nvm verwenden

nvm install 12.22.12

0voto

Dieses Problem tritt auch auf, wenn Sie NVM (Node Version Manager) installiert haben. Und dann versuchen wir, über den Befehl "npm install" zu installieren.

Lösung:

  1. Ändern Sie einfach Ihre Umgebungsvariable mit dem Namen "NVM_SYMLINK" in "Pfad zum Ordner, in dem Sie Node.exe installiert haben".
  2. Und starten Sie Ihren PC neu, Ihr Problem wird gelöst sein.

0voto

Flame alchemist Punkte 107

Nachdem Sie den Umgebungsvariablenpfad hinzugefügt haben, starten Sie möglicherweise Ihren Computer neu. Vielleicht funktioniert das. Es hat für mich funktioniert. Ich habe eine VM benutzt.

0voto

Jerin Stephen Punkte 71

Das Problem betrifft die Systemrichtlinie. Ich habe die folgenden Kommentare in der PowerShell ausprobiert, dann hat es angefangen zu funktionieren

$> Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force 
$> npm install -g npm-windows-upgrade 
$> npm-windows-upgrade

Ich habe diese Idee von folgendem Link

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