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?


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>

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.


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 .


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!


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.


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.


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.


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.


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.


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


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


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


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


5

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


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


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.



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


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!

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."


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


3

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


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.


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.


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.


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.


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.


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.


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).


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.


Dies ist die richtige, da sowohl Win7 als auch 10 ng haben. cmd Datei hier.
Jeb50
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.