ng wird nicht als interner oder externer Befehl erkannt

201

Ausführen von Windows 7 Professional 32bit.

Ich habe versucht, npm install -g angular-clibeide unter normal oder admin auszuführen. 2016-06-23_14h46_40

Ich habe auch versucht, es zu den Umgebungsvariablen unter PATH: hinzuzufügen (C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng), ohne Erfolg.
2016-06-23_14h56_48

Was mache ich falsch?

Cristian Muscalu
quelle
6
Sicher möchten Sie das Verzeichnis ( C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin) in %PATH%?
Biffen
Ich bin mir nicht sicher. Ich habe es versucht, nur um zu sehen, ob 'ng' funktioniert, aber es funktioniert nicht.
Cristian Muscalu
Haben Sie eine neue Eingabeaufforderung geöffnet? Umgebungsvariablen werden nicht an laufende Variablen weitergegeben. Versuchen Sie echo %PATH%zu sehen, dass es richtig ist.
Biffen
2
Überprüfen Sie, ob das %PATH%Verzeichnis , das es enthält (es ist eine durch Semikolons getrennte Liste) ng.exe.
Biffen
2
Ich fand die Lösung für dieses Problem stackoverflow.com/a/46874999/7968316
Rixwan

Antworten:

236

Bei mir funktioniert es mit:

npm run ng <command>
Bogdana Zadic
quelle
10
Kennen Sie den Grund, warum es so ist und wie können wir 'npm run' loswerden?
Pratik Gandhi
5
aber dies lässt keine zusätzlichen Parameter nach ng build
hakuna
Für den direkten Durchlaufbefehl können ngSie Ihren @angular/climit npm verknüpfen, indem Sie npm link @angular/cli
Asad Shakeel
3
@PratikGandhi Dies liegt daran, dass cmdnur Befehle ausgeführt werden können, die in den Umgebungsvariablen angegeben sind (in diesem Fall npm). Dieser Pfad wird hinzugefügt, wenn Sie den Knoten global in Ihrem System installieren. Wenn Sie den vollständigen Pfad C:\Users\<user>\AppData\Roaming\npm\node_modules\@angular\cli\bin\ngzu Umgebungsvariablen hinzufügen und erneut ausführen cmd, wird dieser ngals Befehl akzeptiert . Alternativ können Sie auch die Eingabeaufforderung Node.js verwenden, um ng-Befehle auszuführen.
MM
218

Ich habe dieses Problem gemäß der Abbildung gelöst:

laufen in cmd

 npm install -g @angular/cli

und dann

(in Windows 10 geöffnet) Systemsteuerung \ Alle Systemsteuerungselemente \ System oder gemäß Abbildung

Schritt 1:

Geben Sie hier die Bildbeschreibung ein

Schritt 2 :

Geben Sie hier die Bildbeschreibung ein

Schritt 3:

Geben Sie hier die Bildbeschreibung ein

Schritt 4:

Geben Sie hier die Bildbeschreibung ein

Schritt 5:

Geben Sie hier die Bildbeschreibung ein

Und am Ende muss der Computer neu gestartet werden.

BehrouzMoslem
quelle
Sie haben die Angular und NG Kommentare (in res) falsch herum bekommen;)
Shaheen K
1
In meinem Fall musste ich nur den Pfad zu npm hinzufügen.
Kieran
41
Sie müssen den Computer am Ende nicht neu starten, sondern nur die Eingabeaufforderung neu starten.
Aravindh Gopi
Oder Sie können sich abmelden ("abmelden" in Win 10-Sprache) und sich dann wieder anmelden. Dadurch werden alle Umgebungsvariablen "zurückgesetzt". Aber das sind kleine Kartoffeln ... neben dieser eigentlichen Antwort. Upvote. Vielen Dank.
GranadaCoder
C:\Users\<YOURUSER>\AppData\Roaming\npmist kein Winkelpfad, sondern ein npm-Pfad. Wenn Sie diesen Pfad also zu Ihren Umgebungsvariablen hinzufügen, sind alle npm-Pakete, die Sie mit dem Flag -g installieren, in Ihrer Befehlszeile verfügbar (nicht nur ng).
PinguinoSod
113

Das Hinzufügen C:\Users\DELL\AppData\Roaming\npmzur Systemvariablen Pathhat bei mir funktioniert. Bitte finden Sie den entsprechenden Dateipfad zu 'npm'.

Überprüfen Sie außerdem, ob Sie der Pfadvariablen Ihren angular-cli\binPfad hinzugefügt haben .

Sabari
quelle
5
Versuchen Sie auch, den PC neu zu starten. Danach begann der Befehl ng zu arbeiten.
Mateusz Migała
1
Suchen Sie den Pfad für die Datei "ng.cmd". Aktualisieren Sie die Umgebungsvariable PATH mit dem Pfad.
Jnana
4
Dies funktionierte für mich unter Windows 10, aber ich habe "% USERPROFILE% \ AppData \ Roaming \ npm" hinzugefügt, um mehrere potenzielle Benutzer abzudecken, die aus ihren eigenen Benutzerprofilen ziehen.
Tim McElwee
2
%AppData%\npmwird auf die Werte von @TimMcElwee und @ sabari erweitert und ist benutzer- und maschinenunabhängig.
ps2goat
Durch Hinzufügen des Ordners \ npm zu
Pfadvariablen wurde
67

Ich benutze WIN 10, finde es einfach für dieses Problem heraus. Geben Sie den folgenden Code in cmd ein:

npm config erhält Präfix

und kopieren Sie den Pfad, den Sie von oben erhalten, in Ihre Computerumgebungsvariablen -> Feld Benutzervariablen -> Pfad -> Bearbeiten - C: \ Programme \ nodejs \ node_global . Ihr Pfad kann abweichen.

Klicken Sie auf OK und öffnen Sie Ihr Cmd-Fenster erneut. Geben Sie die ng-Version ein , dann funktioniert es! Prost!

YuSolution
quelle
Klappt wunderbar! MySQL-Shell überschrieb meine Benutzerpfadvariable .. :(
Hamza Khanzada
39

Öffnen Sie einfach Ihre Eingabeaufforderung (als Administrator ausführen). Stellen node --vSie sicher, dass 6.9.0 oder höher undnpm --v 3.0.0 r höher ist.

Führen Sie danach den folgenden Befehl aus:

npm install -g @angular/cli

Sobald Winkel installiert ist. Sie können einen Eintrag von eckigen Cli im Pfad sehen

C:\Users\Dell\AppData\Roaming\npm\node_modules\@angular

Dann versuchen Sie es mit Hilfe. Es wird klappen.

user1057641
quelle
26

1) Geben Sie den folgenden Befehl an der Eingabeaufforderung ein

npm install -g @angular/cli

2) Stellen Sie sicher, dass C: \ Benutzer \ _Benutzername_ \ AppData \ Roaming \ npm dieser Pfad nicht ausgeblendet ist .

3) Fügen Sie C: \ Users \ _username_ \ AppData \ Roaming \ npm und hinzu

Benutzer \ \ _username_ \ AppData \ Roaming \ NPM \ @ node_modules Winkel \ cli \ bin: C sowohl Umgebungsvariable Pfad .

4) Öffnen Sie die neue Eingabeaufforderung und geben Sie ng help ein . Es wird klappen.

Shrirang
quelle
Ich konnte das AppData-Verzeichnis erst sehen, als ich die Administratorberechtigung für meinen Windows 10-Computer erhielt und dann ein Befehlsfenster öffnete, indem ich auf Als Administrator ausführen klickte.
Robert Stevens
18

Mit einem Befehl

npm install -g @angular/cli@latest

Es funktioniert gut, ich kann jetzt den Befehl ng ausführen.

Yain Patel
quelle
16

Ich habe die folgenden Schritte zur Lösung dieses Problems in Windows 10 ausgeführt :

  1. Stellen Sie zunächst sicher, dass Sie Angular CLI installiert haben. Sie können unten verwenden, um dasselbe zu installieren.

npm install -g @ angle / cli @ latest

  1. Stellen Sie sicher, dass AppData sichtbar ist, und navigieren Sie zum Pfad unten.

C: \ Benutzer \ rkota \ AppData \ Roaming \ npm

Der gleiche Pfad kann auch gefunden werden, indem Sie unten laufen:

npm config erhält Präfix

  1. Fügen Sie den obigen Pfad hinzu, dh "C: \ Users \ rkota \ AppData \ Roaming \ npm" in der Umgebungsvariablen PATH, und stellen Sie sicher, dass er hinzugefügt wurde, indem Sie den Pfad in der Eingabeaufforderung ausführen.
  2. Schließen Sie die Eingabeaufforderung und versuchen Sie nun, Folgendes auszuführen:

ng --version

Sie können die CLI-Version sehen.

Ravi Shankar Kota
quelle
13

Ich habe es vor einigen Tagen gelöst, nachdem ich das gleiche Problem mit anderen globalen Modulen hatte, indem ich Folgendes hinzugefügt habe:

Umgebungstabellen -> Systemvariablen -> Pfad:

C: \ Benutzer \ Administrator \ AppData \ Roaming \ npm \ Knotenmodule \ angle-cli \ bin; C: \ Programme \ MongoDB \ Server \ 3.2 \ bin

Beachten Sie, dass danach keine Leerzeichen mehr vorhanden sein dürfen.

Das stellte sich als mein Problem heraus.

Cristian Muscalu
quelle
Suchen Sie den Pfad für die Datei ng.cmd. Aktualisieren Sie den PATH-Wert der Umgebungsvariablen mit demselben Pfadpfad. Starten Sie die Befehlszeilenkonsole neu und Sie sind fertig.
Jnana
3
Die Antwort unter "npm config get prefix" ist der richtige Ansatz
Peter Morris
1
es sei denn , Sie das sehen ngin dem Ordner befindet ng.cmdoder Windows Command Scriptunter Spalte Typ, sonst diese ng in dieser angular-cli\binnicht funktioniert.
Jeb50
Diese Antwort muss aktualisiert werden, da der Pfad in CLI v7.0 + jetzt C: \ Users \ UserName \ AppData \ Roaming \ npm
Hemendra
12

Anstatt die integrierte Eingabeaufforderung zu verwenden, sollten Sie besser die installierte NodeJS-Version der Eingabeaufforderung verwenden. Dann wird es ohne Probleme perfekt funktionieren.Geben Sie hier die Bildbeschreibung ein

youi
quelle
2
Das Ausführen where ngin dieser Konsole kann helfen, herauszufinden, was mit dem Pfad nicht stimmt. Das hat es für mich getan, ng wurde in der falschen Benutzer-AppData behoben, wodurch eine fehlerhafte Version der CLI ausgeführt wurde.
Frederik.L
10

Führen Sie die folgenden Zeilen aus, um das Problem sowohl für die nicht gefundene als auch für die undefinierte Version von ng zu beheben

npm deinstallieren -g angle-cli

npm deinstallieren --save-dev angle-cli

npm Cache sauber

npm install -g @ angle / cli @ latest

Raja Fawad
quelle
9

Wenn Sie den Fehler auch nach dem obigen Schritt erhalten. dann versuchen Sie es unten.

Da es sich um ein Knotenskript handelt. Ich verwende die folgende Option, um ab sofort zu erstellen.

Knoten C: \ Benutzer \ Administrator \ AppData \ Roaming \ npm \ Knotenmodule \ Angular-Cli \ Bin \ Ng-Version

Möglicherweise sind symbolische Links erforderlich. Nicht weiter erforscht.

Weitere Informationen: Legen Sie den Pfad wie folgt fest:% PATH%; C: \ Benutzer \ Administrator \ AppData \ Roaming \ npm;

In Windows befindet sich die Datei npm.cmd im obigen Pfad. Wenn die obige Umgebungsvariable festgelegt ist, können Sie sie als ng version ng init ausführen

Ram Kumar Dinesh
quelle
7
  1. Öffnen Sie cmd und geben Sie ein npm install -g @angular/cli

  2. Fügen Sie in Umgebungsvariablen entweder in der Benutzervariablen oder in der Systemvariablen "Pfad" den Wert = hinzuC:\Users\your-user\.npm-packages\node_modules\.bin

  3. In cmd: c:\>cd your-new-project-path

  4. ...\project-path\> ng new my-app

    oder ng all-ng-commands

sahosseini
quelle
5

Schließen Sie cmd und öffnen Sie es erneut mit admin right oder starten Sie Ihr System neu.

Janak Bhatta
quelle
5

Ich hatte das gleiche Problem, als ich versuchte, Angular Cli lokal mit Befehl zu installieren

npm install @angular/cli@latest

Danach bekam ich das gleiche Problem C: \ Benutzer \ vi1kumar \ Desktop \ tus \ ANGULAR \ AngularForms> ng -v 'ng' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batch-Datei erkannt

Dann habe ich versucht, es global zu installieren

npm install -g @angular/cli@latest

In diesem Fall hat es funktioniert. Ich habe mich gefragt, ob es nicht möglich ist, cli global zu installieren.

Nach einigen Recherchen fand ich diesen Artikel sehr hilfreich und hoffe, dass er jemandem hilft, der mit einem ähnlichen Problem konfrontiert ist

Arbeiten mit mehreren Versionen von Angular CLI

Vicky Kumar
quelle
4

Dieser hat fast für mich funktioniert, aber ich musste Folgendes verwenden:% USERPROFILE% \ AppData \ Roaming \ npm. In Umgebungsvariablen ... / Systemvariablen / Pfad

Als ich dann CMD machte: "ng -v" bekam ich die richtige Antwort für Angular Cli.

user2030451
quelle
4

npm install -g @angular/cli half mir statt npm install @angular/cli

Justin Lange
quelle
4

1- Installieren

$ npm install -g @angular/cli

2- Stellen Sie sicher, wo Ihre ng.cmdvorhanden ist.

Geben Sie hier die Bildbeschreibung ein

3- Fügen Sie diesen Pfad dann in Variablen ein.

Geben Sie hier die Bildbeschreibung ein

Teoman Shipahi
quelle
3

Ich hatte das gleiche Problem unter Windows 7, 64 Bit mit npm v3.10.8.

  1. Ich habe den Pfad wie vorgeschlagen hinzugefügt: (C: \ Benutzer ..... (Ihr Benutzername) \ AppData \ Roaming \ npm \ Knotenmodule \ angle-cli \ bin \ ng) und deinstalliert angle-cli.
  2. Danach habe ich den npm-Cache gelöscht, indem ich npm cache cleanhier dazu aufgefordert wurde: https://blogs.msdn.microsoft.com/matt-harrington/2012/02/23/how-to-fix-node-js-npm-permission-problems/ . Dies garantiert, dass keine Reste vorhanden sind.
  3. Neu installiert eckig-cli mit npm install -g angular-cliund voila.

    Hoffe das kann nützlich sein!
CyberMessiah
quelle
3

Ich hatte das gleiche Problem, als ich es mit der Syntax "ng new" versuchte und es einfach durch Aktualisieren der vorhandenen Knotenversion von 5.xx auf 8.xx löste. Nach erfolgreicher Aktualisierung des Knotens funktionierte die Syntax perfekt für mich. Bitte aktualisieren Sie die vorhandene Version des Knotens. Wie in der Winkeldokumentation deutlich erwähnt, erfordern diese Befehle die Knotenversion> = 6.9.x. Als Referenz überprüfen Sie bitte https://angular.io/guide/quickstart . Darin heißt es eindeutig: "Stellen Sie sicher, dass Sie mindestens die Knoten 6.9.x und npm 3.xx ausführen, indem Sie die Knoten -v und npm -v in einem Terminal- / Konsolenfenster ausführen. Ältere Versionen führen zu Fehlern, neuere Versionen sind jedoch in Ordnung."

Durba Banerjee
quelle
3

Ich hatte das gleiche Problem unter x86, Windows 7;

  • deinstalliert @ angle / cli
  • neu installiert @ angle / cli
  • überprüfte & verifizierte Umgebungsvariablen (keine Probleme dort) ...
  • Immer noch das gleiche Problem:

Die Lösung war die .npmrc-Datei unter C: \ Users {USERNAME} ... ändern Sie das Präfix so, dass es "prefix = $ {APPDATA} \ npm" lautet ... Vielen Dank an diese Website für Hilfe bei der Lösung

Akber Iqbal
quelle
3

Ich habe das Problem behoben, indem ich -% AppData% \ npm \ node_modules @ angle \ cli \ bin \ path zu meinem Umgebungsvariablenpfad hinzugefügt habe

sajid irfan
quelle
2

In meinem Fall habe ich die folgenden Schritte ausgeführt.

Alle Programme -> Node JS-> Klicken Sie mit der rechten Maustaste auf die Eingabeaufforderung Node.js und wählen Sie die Eigenschaften und die Zielzeichenfolge am Ende der folgenden Kopie aus

/k "C:\Program Files\nodejs\nodevars.bat"

Ich habe Visual Studio Code gestartet und die folgende Datei geöffnet

C:\Users\gochinta\AppData\Roaming\Code\User\settings.json und gab unten

// Place your settings in this file to overwrite the default settings
{
  "terminal.integrated.shellArgs.windows": 
  ["/k", "C:\\Program Files\\nodejs\\nodevars.bat"]

}

Jetzt habe ich ng -vmein Visual Studio Code Terminal-Fenster eingegeben und es hat funktioniert.

Ziggler
quelle
2

Ich stehe vor dem gleichen Problem und es wird gelöst. An meinem Endgrund ist, dass ich Knoten und CLI unter Verwendung eines anderen Benutzerprofils installiere und jetzt den Befehl ng über die Anmeldung eines anderen Benutzers ausführe. Da Knoten und CLI, die mit einem anderen Benutzer-Anmeldeknoten installiert wurden, nichts findenC:\Users\&lt;user name&gt;\AppData\Roaming diesem Pfad und daher dieser Fehler angezeigt wird.

Ich führe den npm install -g @angular/cliBefehl aus und starte meinen Computer neu. Alles funktioniert gut.

Nitin Jain
quelle
2

Irgendwann in der Zukunft. Anwendbar auf Windows 8.1-Computer. Führen Sie die folgenden Befehle aus

npm install -g @angular/cli

Melden Sie sich ab oder starten Sie Ihren Computer neu.

Dies sollte den erforderlichen env-Pfad hinzufügen, anstatt ihn manuell auszuführen.

Krishneil
quelle
2

Ich habe auch versucht, mit cmd zu spielen, indem ich den Umgebungsvariablenpfad & etc festgelegt habe, aber eine einfache Antwort ist die Verwendung der Eingabeaufforderung von nodejs.

Sie müssen also keinen Pfad für Umgebungsvariablen oder ähnliches festlegen. Wenn Sie nodejs installiert haben, wird die Eingabeaufforderung angezeigt, indem Sie den Befehl "ng" ohne Einstellungen verwenden.

Bhaurao Birajdar
quelle
2

Da diese Frage ein Jahr später immer wieder gestellt wird, werde ich meine Antwort auch hier veröffentlichen.

Der Hinweis (nur unter Windows) besteht darin, die Einträge in der Pfadvariablen rechts anzuordnen.

Wie das NPM-Wiki sagt :

Da das Installationsprogramm C: \ Programme (x86) \ nodejs vor C: \ Users \\ AppData \ Roaming \ npm in Ihrem PATH einfügt, wird immer die mit node installierte Version von npm anstelle der von Ihnen installierten Version von npm verwendet npm -g install npm@<version>.

Ihre Pfadvariable sieht also ungefähr so ​​aus:

…;C:\<path-to-node-installation>;%appdata%\npm;…

Jetzt haben Sie zwei Möglichkeiten:

  1. Tauschen Sie die beiden Einträge aus, damit es so aussieht
…;%appdata%\npm;C:\<path-to-node-installation>;…

Dadurch wird die mit npm (und nicht mit node) und mit der installierten Angular CLI-Version installierte npm-Version geladen.

  1. Wenn Sie (aus welchem ​​Grund auch immer) die mit node gebündelte npm-Version verwenden möchten, fügen Sie den direkten Pfad zu Ihrer globalen Angualr CLI-Version hinzu. Danach sollte Ihre Pfadvariable folgendermaßen aussehen: …;C:\Users\<username>\AppData\Roaming\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… oder …;%appdata%\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… für die Kurzform.

Das hat bei mir seit einiger Zeit funktioniert.

Jowey
quelle
1

Ich hatte das gleiche Problem, dass Visual Studio Code keine ng-Befehle in seinem eingebauten Terminal ausführen konnte.

Ich habe% AppData% \ npm zum Pfad in Windows 10 hinzugefügt und musste nicht neu starten, sondern nur VS Code schließen und erneut öffnen und es wird nicht angezeigt.

GaryP
quelle
Das gleiche Problem, zu dem ich einen neuen Weg eingeschlagen habe AppData\Roaming\npm\node_modules\@angular\cli\bin\ngund das jetzt gut funktioniert
Abdallah Abdillah
1

Installieren Sie NodeJS der x32-Version anstelle der x64-Version (auch auf 64-Bit-Windows-Computern).

Nitish Kumar
quelle
1

Für mich stimmte etwas in der Umgebungsvariablen PATH nicht. Ich habe alle mit npm verbundenen Pfade entfernt und zu Beginn von PATH diesen Ordner hinzugefügt :

c:\Users\<your-user-name>\AppData\Roaming\npm\

Stellen Sie sicher, dass Sie ;zwischen Pfaden haben.

Gehe zu
quelle
Dies ist die richtige, da sowohl Win7 als auch 10 ng haben. cmd Datei hier.
Jeb50