'npm' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt

200

Ich bin völlig neu in NodeJS. Ich versuche, nodejs dazu zu bringen, auf meiner Windows 2008-Box zu funktionieren, um Karma zu installieren, das ich zum TDDing meines AngularJs-Codes verwenden würde. Ich habe bisher die folgenden Schritte ausgeführt

  1. Installation mit Chocolatey ==> npm wird nicht erkannt
  2. Die Installation mit dem 64-Bit-Installationsprogramm von nodejs von nodejs.org ==> npm wird nicht erkannt
  3. In diesem Stadium where npmgibt mir c:\User\<Username>\AppData\Roaming\npmdas Laufen , was nichts drin hat
  4. Ich finde heraus, dass nodejs in installiert ist C:\Program Files\nodejs. Das Öffnen einer Eingabeaufforderung in diesem Verzeichnis npmfunktioniert einwandfrei.
  5. Also habe ich nur hinzugefügt C:\Program Files\nodejs, PATHum den gleichen Fehler nochmal zu bekommennpm is not recognized
  6. Eines der Github-Probleme im NodeJS-Repository besagt, dass ich den Computer neu starten muss, damit er behoben wird. Aber das hat bisher nicht geholfen
  7. Ich sehe ein Node.jsSymbol in meinem Start -> ProgrammsMenü, das mich zur NodeJS-Konsole führt, bin mir aber nicht sicher, was ich damit machen soll.

Habe ich einen wichtigen Schritt in diesem Prozess verpasst?

Bearbeiten

Ich habe herausgefunden, dass npm erkannt wird, wenn ich "Nodejs-Eingabeaufforderung" aus Programmdateien öffne. Wie kann ich es an einer normalen Eingabeaufforderung ausführen lassen?

Bearbeiten

Nachdem nodeich anfing, ein ähnliches Problem mit einer anderen Anwendung zu haben. Ich habe diese Frage im Superuser gepostet und wie in der akzeptierten Antwort zu Recht hervorgehoben, hatte ich ein zusätzliches Zitat in meinem, PATHdas Probleme mit allen nach dem Zitat hinzugefügten Pfaden verursachte. Ich habe das Gefühl, dass einige Chocolatey-Installationen dieses beunruhigende Zitat hinzufügen, aber ich bin mir einfach nicht sicher, welches.

Suhas
quelle
8
Haben Sie nach dem Hinzufügen zu PATHdie Befehlszeile neu gestartet? PATHwird nur beim Initialisieren neuer Befehlszeilensitzungen geladen.
Davin Tryon
Ja Davin, ich habe die Befehlszeile jetzt mehrmals neu gestartet
Suhas
Ich habe "C: \ Programme \ nodejs \" in meinem System PATHund alles, was unter Windows 7 funktioniert.
Davin Tryon
5
Können Sie eine neue Eingabeaufforderung öffnen und PATH(<Eingabe> drücken) eingeben und überprüfen, ob dort "C: \ Programme \ nodejs \" angezeigt wird?
Davin Tryon
1
Ja, ich habe C:\Program Files\nodejsinPATH
Suhas

Antworten:

346

Einfach hinzufügen:

;C:\Program Files\nodejs\

Bis zum Ende Ihrer Pfadvariablen im Abschnitt "Benutzervariable" der Umgebungsvariablen in den Systemeigenschaften.

Öffnen Sie danach Ihre Eingabeaufforderung erneut und geben Sie ein

npm

Das sollte funktionieren.

Breno
quelle
4
Der Grund, warum ich die Antwort nicht akzeptierte, war, dass ich diesen Pfadeintrag bereits hatte. Der Grund, warum es nicht funktionierte, war anders. Ich habe einen Daumen hoch für Ihre Antwort
Suhas
4
Das Semikolon trennt die verschiedenen Benutzervariablen, die Sie haben können. Normalerweise haben Sie bereits einige Pfade in Ihren Umgebungsvariablen. Um einen neuen hinzuzufügen, müssen Sie sich zunächst vom Rest trennen, indem Sie vor dem Pfad, den Sie hinzufügen möchten, ein Semikolon hinzufügen.
Breno
2
Nehmen Sie sich etwas Zeit, um herauszufinden, wie Sie <code>; C: \ Programme \ nodejs \ </ code> unter "Benutzervariable" hinzufügen. Teilen Sie dies unten: 1: Öffnen Sie das Fenster Systemeigenschaften (Start -> Einstellungen -> Systemsteuerung -> Leistung und Wartung -> System). 2.Wählen Sie die Registerkarte Erweitert. 3.Klicken Sie auf die Schaltfläche Umgebungsvariablen. 4.Klicken Sie auf die Schaltfläche Neu unter "Benutzervariablen". 5. Fügen Sie "Pfad" und "; C: \ Programme \ nodejs \" hinzu
Wen
6
Das Installationsprogramm von node.js hat die Pfadvariable bereits für mich eingegeben. Aber ich habe immer noch kein npm in der Kommandozeile.
MrFox
7
Haben Sie @MrFox neu gestartet?
Breno
116

Vergessen Sie nicht, Ihren Computer nach der Installation des Knotens neu zu starten! Dieser hat mich erwischt.

user3414680
quelle
Ich bin mir nicht sicher, ob Sie das benötigen, wenn Sie mit Chocoletey installieren.
Suhas
58
Sie sollten nicht neu starten müssen, sondern einfach Ihr Terminal schließen und erneut öffnen.
Wels
5
Neustart, Neustart, Neustart!
Andrew Day
@Suhas… win 10 - admin PS prompt -choco install nodejs - Code neu gestartet… NOCH musste neu
starten
VS Code hat sich selbst aktualisiert. Musste neu starten, sonst hat nichts funktioniert.
TDP
33

Um Brenos Antwort näher zu erläutern ... Für Windows 7 haben diese Schritte für mich funktioniert:

  1. Öffnen Sie die Systemsteuerung (Klicken Sie auf die Schaltfläche Start und dann auf Systemsteuerung. )
  2. Klicken Sie auf Benutzerkonten
  3. Klicken Sie auf Umgebungsvariablen ändern
  4. Wählen Sie PFAD und klicken Sie auf die Schaltfläche Bearbeiten
  5. Fügen Sie am Ende des Variablenwerts hinzu ;C:\Program Files\nodejs
  6. Klicken Sie auf OK auf den „Edit User Variable“ Fenster und klicken Sie auf OK auf der „Umgebungsvariablen“ Fenster
  7. Starten Sie ein Eingabeaufforderungsfenster (Schaltfläche Start, geben Sie cmd in die Suche ein und drücken Sie die Eingabetaste).
  8. Geben Sie an der Eingabeaufforderung ( C:\>) npm ein und drücken Sie die Eingabetaste. Sie sollten jetzt einen Hilfetext ( Usage: npm <command>usw.) anstelle von " npm wird nicht erkannt ... " sehen.

Jetzt können Sie mit npm beginnen !

Luke
quelle
6
Auf einigen Systemen könnte es sein ;C:\Program Files(x86)\nodejs.
Kaiser
16

Vergessen Sie nicht, cmd als Administrator auszuführen.

Raul
quelle
Ich habe Node außerhalb installiert Program Filesund dies hat das Problem behoben. Vielen Dank.
Pauline
So eine einfache Sache, die jeder vermisst hat. Danke Raul. Ihre Antwort ist nicht zuletzt die letzte und hat das Problem gelöst. danke Mann
Gaurav Khurana
12

Ich hatte das gleiche von Ashu beschriebene Problem , aber zusätzlich wurde der PATH-Eintrag für nodejs durch einen Backslash beendet:

C:\Program Files\nodejs\

Ich musste auch diesen letzten Backslash entfernen, damit er funktioniert.

gbgnv
quelle
1
Sie schreiben 'zusätzlich', aber die einzige Änderung, die ich vornehmen musste, war das Entfernen des abschließenden Schrägstrichs in der Umgebungsvariablen des Path-Systems.
Scott Munro
9

Ich hatte genau das gleiche Problem und stellte fest, dass nach der Installation von node.js ein neuer Pfadeintrag im Abschnitt für Benutzervariablen für PATH mit dem Wert -> c: \ User \\ AppData \ Roaming \ npm vorhanden war. Außerdem wird der Pfadeintrag in der Systemvariablen an -> C: \ Programme \ nodejs angehängt. Da die Benutzervariable dem System den Vorzug gibt, haben Sie zwei Möglichkeiten, dies zu beheben. Löschen Sie entweder den Pfad aus der Benutzervariablen oder korrigieren Sie den richtigen Pfad (C: \ Programme \ nodejs). Starten Sie CMD neu und es sollte funktionieren.

Ashu
quelle
7

Laden Sie einfach Node.js von hier herunter und installieren Sie es unter https://nodejs.org/en/

Wenn Sie die heruntergeladene Datei ausführen und installieren, werden sie automatisch für Ihr System konfiguriert

Sie brauchen keine weiteren Konfigurationen mehr, jetzt können Sie den Befehl npm überall verwenden


Wenn der Nodejs erfolgreich installiert wurde und die folgende Meldung weiterhin angezeigt wird:

'npm' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt.

Führen Sie die folgenden Schritte für Windows-Benutzer aus:

  1. Gehen Sie zu Arbeitsplatz Eigenschaften
  2. Klicken Sie in der linken Leiste eines Fensters auf Erweiterte Systemeinstellungen .
  3. Jetzt haben Sie ein Fenster mit den Systemeigenschaften. Klicken Sie auf Erweitert
  4. Klicken Sie dann auf die Schaltfläche Umgebungsvariable
  5. Jetzt haben Sie variable Fenster Umwelt: Von Systemvariable , Select - Pfad
  6. Klicken Sie auf Bearbeiten
  7. Fügen Sie am Ende des Variablenwerts hinzu ;C:\Program Files\nodejs\

    Hinweis : Wenn Sie nodejs auf anderen Laufwerken installiert haben, handeln Sie entsprechend.

  8. Klicken Sie auf Ok alle offenen Dialog

Sehr wichtig Hinweis : "Schließen Sie die Eingabeaufforderung und starten Sie sie erneut" ( Dies ist sehr wichtig, da Änderungen nicht berücksichtigt werden, wenn Sie die Eingabeaufforderung nicht neu gestartet haben.)

Jetzt können Sie den Befehl npm überall verwenden

Udhav Sarvaiya
quelle
6

Wenn Sie VS-Code verwenden, schließen Sie den VS-Code und öffnen Sie ihn erneut.

Ich habe versucht, das Terminal zu schließen und dann das neue Terminal zu öffnen, aber es hat nicht funktioniert.

Das Neustarten von VS Code funktioniert!

Codespiegel
quelle
4

Hatte das gleiche Problem unter Windows 8.1 64 Bit.
Es stellt sich heraus, dass ich dieses Problem bekomme, wenn ich cmd durch Eingabe in die Pfadleiste oben in einem Ordnerfenster starte
oder
wenn ich mit der rechten Maustaste in ein Ordnerfenster klicke und dann die Eingabeaufforderung aus der Liste öffne.

Wenn ich cmd mit Run oder Just über die ausführbare Datei cmd.exe ausführe, funktioniert es.

jacobian
quelle
4

Wenn Sie diesen Fehler über ein Dienstkonto wie 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 nicht von den bereits ausgeführten Prozessen übernommen werden. Ich habe den gleichen Fehler durch meinen Build-Service erhalten, aber ich hatte npm installiert und lief in der Konsole.

Ehsan Mahpour
quelle
4

Möglicherweise haben Sie bereits eine Antwort erhalten, dies kann jedoch anderen helfen, da ich kürzlich das gleiche Problem hatte und Folgendes getan habe:

  1. Bereitstellung eines Pfadeintritts zur Powershell. Für mich war der Weg C: \ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. Dann habe ich die Eingabeaufforderung cmd mit Administratorrechten geöffnet und diese kopiert

    @powershell -NoProfile -ExecutionPolicy uneingeschränkt -Befehl "iex ((neues Objekt net.webclient) .DownloadString (' https://chocolatey.org/install.ps1 '))" && SET PATH =% PATH%;% ALLUSERSPROFILE% \ schokoladig \ bin

in die cmd-Eingabeaufforderung.

  1. Nächster, nächstes installiert choco nodejs
  2. Neustart und alles hat gut funktioniert. Versuchen Sie, cmd ohne Administratorrechte zu öffnen, und führen Sie npm -v Cheers aus.
rash.tay
quelle
3

Ich bin auch auf dieses Problem gestoßen. Es stellt sich heraus, dass Windows keine einfachen Anführungszeichen in der Befehlszeile hat. Der Schuldige war eines meiner npm-Skripte. Ich habe die einfachen Anführungszeichen in doppelte Anführungszeichen geändert:

'npm -s run sass-build'

zu

\"npm -s run sass-build\"
Skott Dorrito
quelle
3

Ich aktualisiere diesen Thread mit einer neuen Antwort, weil ich nach nicht weniger als einer Woche die Lösung für meine miserable Situation gefunden habe ...

Wenn für diejenigen der Fehler weiterhin auftritt, obwohl der Pfadwert richtig eingestellt ist, überprüfen Sie Ihre pathext-Variable auf den Wert (Standardwert in Windows 7 +): .COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; .WSF; .WSH; .MSC

Meins war nur zu setzen auf: .BAT und das Ändern löste das Problem. Ich frage mich, warum niemand das angesprochen hat ...

Hoffe das hilft!

A.KHOUS
quelle
2

Ich habe nodejs nach diesem AngularJS-Tutorial installiert . Der Befehl npm hat funktioniert, als ich ein neues cmd-Fenster geöffnet habe, aber nicht im aktuellen.
Die Lösung bestand also darin, ein neues Cmd-Fenster zu schließen und zu öffnen .

miva2
quelle
2

Ich bin neulich auf meinem Windows 7-Computer auf dieses Problem gestoßen. Das Problem war nicht mein Weg, aber ich musste entkommene Schrägstriche anstelle von Schrägstrichen wie diesen verwenden:

"scripts": {
    "script": ".\\bin\\script.sh"
}
Daniel Lizik
quelle
2

Wenn das Paket erfolgreich installiert und zeigt noch die Meldung „ ‚npm‘ist nicht als interner oder externer Befehl, ein Programm oder Batch - Datei erkannt.

  1. Klicken Sie auf die Windows-Startschaltfläche.
  2. Suchen Sie nach " ALL APPS ". Dort sehen Sie die Eingabeaufforderung Node.js und Node.js.
  3. Sie können die Eingabeaufforderung Node.js als Administrator ausführen. Sobald sie ausgeführt wird, wird die Meldung "Ihre Umgebung wurde für die Verwendung von Node.js 6.3.0 (x64) und npm eingerichtet." Angezeigt.

und dann funktioniert es von dort ...

S.Droid
quelle
1

Ich habe Node.js installiert und beim Versuch, Ionic und Cordova mit diesem Code zu installieren:

npm install -g cordova ionic

Ich war mit dem obigen Fehler konfrontiert. Ich habe meiner Umgebungsvariablen 'PATH' 'C: \ Programme \ nodejs' hinzugefügt. Aber ich konnte dieses Problem immer noch nicht lösen. Es stellte sich heraus, dass meine PATH-Variable länger als 2048 Zeichen war und ich daher den Nodejs-Pfad nicht hinzufügen konnte. Ich musste den Pfad eines anderen Programms entfernen und den Nodejs-Pfad hinzufügen. Schließen Sie die cmd-Eingabeaufforderung, öffnen Sie sie erneut und versuchen Sie erneut, Ionic zu installieren. Das hat bei mir funktioniert.

Sundar Ram
quelle
1

Für mich hat das Hinzufügen eines Pfads zu PATH nicht den Trick getan. Führen Sie c:\Program Files\nodejs\nodevars.batstattdessen aus, es erledigt den Job für Sie

Cheburek
quelle
1

In meinem Fall, in dem ich über Mocha getestet habe, habe ich alles versucht, nur um zu erkennen, dass ich einfache Anführungszeichen um mein Testfall-Skript-Tag entfernen muss package.json.

Ich führe einen mochaTestfall für alle *.test.jsDateien aus, wie unten gezeigt:

package.json

Vor:

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm run test'"
  }

Nach (Entfernen von einfachen Anführungszeichen - npm run test):

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec npm run test"
  }

Hat für mich gearbeitet, nur für den Fall, dass auch jemand anderes daran hängen bleibt.

Ylama
quelle
0

Für Windows 8 klicken Sie mit der rechten Maustaste auf meine PC-Eigenschaften und dann auf Umgebungsvariablen, Benutzervariable oder Systemvariablen >> Neu >> Geben Sie den Variablennamen und den Pfad ein: So OK, C:\Program Files\nodejs jetzt öffnen Sie cmd und geben Sie npm ein. Es wird funktionieren

Imran Khan
quelle
2
Hallo! Willkommen bei SO. Bitte lesen Sie in der Hilfe nach, wie Sie antworten können . Wie unterscheidet sich dies von den zuvor veröffentlichten Antworten? Gibt es etwas anderes als die Antwort von @ Luke für Windows 7? Gilt das erwähnte Problem mit dem ;im Pfad nicht? Wenn Sie dies nur bestätigen, ist die akzeptierte Antwort in Windows 8 weiterhin gültig. Löschen Sie Ihre Antwort und fügen Sie die Informationen als Kommentar zur akzeptierten Antwort hinzu. Wenn Sie etwas Neues auf den Tisch bringen, aktualisieren Sie bitte Ihre Antwort, um dies widerzuspiegeln. Best
Wahwahwah
0

Befolgen Sie nur zwei Schritte. 1. Laden Sie nodejs manuell herunter. Gehen Sie nun zu diesem Pfad wie C: \ Programme \ nodejs \ 2. Fügen Sie als Nächstes einen neuen Pfad wie name: Pfad und Variablenname hinzu: C: \ Programme \ nodejs \ Klicken Sie auf OK und schließen Sie cmd-Eingabeaufforderung. Öffnen Sie erneut und geben Sie einfach npm in die Eingabeaufforderung ein

Atchutha Rama Reddy Karri
quelle
0

Überprüfen Sie die npm-Konfiguration mit dem folgenden Befehl:

npm config list

Es benötigt Eigenschaften: "Präfix", globales "Präfix" und "Knotenfachposition".

; userconfig C:\Users\username\.npmrc
cache = "C:\\ProgramData\\npm-cache"
msvs_version = "2015"
prefix = "C:\\ProgramData\\npm"
python = "C:\\Python27\\"
registry = "http://registry.com/api/npm/npm-packages/"

; globalconfig C:\ProgramData\npm\etc\npmrc
cache = "C:\\ProgramData\\npm-cache"
prefix = "C:\\ProgramData\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32

In diesem Fall müssen diese Pfade am Ende der Umgebungsvariablen PATH hinzugefügt werden:

;C:\Program Files\nodejs;C:\ProgramData\npm;
Pax Beach
quelle
0

Wenn Sie zum Erstellen des Knotens ms build tools verwendet haben, lautet der Pfad wie folgt:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs
Helzgate
quelle
0

Wenn alles gut aussieht. Ich würde empfehlen, dies auf PATHEXT zu überprüfen. CMD muss hinzugefügt werden. Geben Sie hier die Bildbeschreibung ein

Gitesh
quelle
-2

Wir müssen nodejs installieren und nichts anderes müssen wir tun und dann einfach die Eingabeaufforderung verwenden und das Verzeichnis in das Projekt ändern, in dem Sie npm installieren möchten, und dann den Befehl npm install verwenden. Es hat bei mir funktioniert.

Vivek Verma
quelle