ng: Befehl beim Erstellen eines neuen Projekts mit angle-cli nicht gefunden

111

Angular-cli global mit ( npm install -g angular-cli) installiert, aber wenn ich versuche, ein Projekt damit zu erstellen, ng new my-projectwird ein Fehler ausgegeben:

ng: Befehl nicht gefunden

Lego
quelle
Was passiert, wenn Sie ng --help eingeben? Dies wurde auch im Angular Cli Repository veröffentlicht. Überprüfen Sie diesen Link
VirendraJ
Selbst wenn ich ng --help eingeben muss, wird das gleiche Problem ng: Befehl nicht gefunden. Im Problemprotokoll wird vorgeschlagen, nvm zu verwenden, aber ich möchte npm verwenden. Ich habe versucht, den Pfad durch Hinzufügen eines Alias ​​in meinem .profile zu korrigieren, aber es sind bereits Proxy-Einstellungen vorhanden. Wie kann ich also einen neuen Pfad hinzufügen, indem ich alias = alias ng = "Benutzer / xxxx / npm / lib / Knotenmodule / angle-cli / bin /" verwende? ng "
lego
Können Sie Ihre
OS-
Mit Mac OS, npm Version - 2.14.20 & Knoten Version - 4.4.0
lego
3
Können Sie überprüfen, ob es über ...npm ls --global --depth 0
Brocco

Antworten:

153

Das Problem ist einfach, npmweiß nichtng

Einfach ausführen npm link @angular/cliund es sollte nahtlos funktionieren.

abhinavroy23
quelle
4
Können Sie uns etwas mehr dazu erklären?
Pardeep Jain
4
Der Befehl @PardeepJain: link erstellt im Grunde genommen einen globalen Link und verknüpft dann das globale Installationsziel mit dem Ordner node_modules Ihres Projekts.
abhinavroy23
2
Funktioniert leider nicht. alias ng="PATH-TO-GLOBAL/.npm-global/bin/ng" ( Location of ng file in npm folder) Das hat den Trick gemacht.
Saran3h
2
Das hat funktioniert. Musste nur mit rennen sudo. sudo npm link @angular/cli.
Craig
2
Ich kann bestätigen, dass diese Lösung funktioniert. Ich verwende Windows und kann bestätigen, dass diese Lösung für mich funktioniert hat. Aber ich musste noch etwas tun: Führen Sie dies in Powershell aus: "Set-ExecutionPolicy Unrestricted". Auf diese Weise können Sie .ps1-Dateien (Powershell) ausführen.
Lucamuh
46

Erstens angular-cliist veraltet und wurde durch ersetzt @angular/cli. Wenn Sie also Ihre vorhandene Angular-CLI mit deinstallieren und npm uninstall angular-clidas Paket mit dem neuen Namen @ Angular / Cli neu installieren, kann es zu Konflikten kommen. Meine Geschichte unter Windows 7 lautet:

Ich hatte Angular-Cli installiert und mit neu installiert npm install -g @angular/cli , aber nachdem ich einige Konfigurationsänderungen an den Befehlszeilentools vorgenommen hatte, bekam ich das Problem, dass der Befehl ng nicht gefunden wurde. Ich habe mehrere Stunden damit verbracht, dies zu beheben, aber keines der oben genannten Probleme allein hat funktioniert. Ich konnte es mit den folgenden Schritten beheben:

Installieren Sie den Rapid Environment Editor und entfernen Sie alle PATH-Einträge für node, npm, angle-cli oder @ angle / cli. Node.js befindet sich in Ihrem Systempfad, npm und Winkeleinträge befinden sich im Benutzerpfad.

Deinstallieren Sie node.js und installieren Sie die aktuelle Version neu (für mich 6.11.1). Führen Sie den Rapid Environment Editor erneut aus und stellen Sie sicher, dass sich node.js und npm in Ihrem System- oder Benutzerpfad befinden. Deinstallieren Sie alle vorhandenen ng-Versionen mit:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

Löschen Sie die C: \ Users \% YOU% \ AppData \ Roaming \ npm \ node_modules \ @angular Ordner .

Starten Sie neu und führen Sie schließlich Folgendes aus:

npm install -g @angular/cli

Dann halten Sie den Atem an und rennen:

ng -v

Wenn Sie Glück haben, werden Sie etwas Liebe bekommen. Halten Sie von nun an jedes Mal den Atem an, wenn Sie den Befehl ng ausführen, da "Befehl nicht gefunden" für mich mehrmals auf magische Weise wieder aufgetaucht ist, nachdem ng ordnungsgemäß ausgeführt wurde und ich dachte, das Problem sei gelöst.

VanAlbert
quelle
3
sudo npm install -g @
angle
Entschuldigung, aber das funktioniert nicht. Ich habe alle oben genannten Befehle ausprobiert und sie mit sudo ausgegeben. Ich bin auf Mac OS.
Pixel
Ich habe dieses Format befolgt und es hat ohne den Rapid Environment Editor gut funktioniert. In Windows 10 habe ich die Pfade in den Einvronment-Variablen manuell aktualisiert. Ich hatte Node oder Angular eine Weile nicht mehr ausgeführt, da mein letztes Projekt Dotnet Core war. Also musste ich die neueste Version von npm und node neu installieren, dann meine Pfade zurücksetzen und neu starten, bevor der Schritt zur Deinstallation von angle / cli ausgeführt wurde.
Vic
21

Stellen Sie sicher, dass sich das npm-Verzeichnis in Ihrer Variablen " Path " befindet.

Wenn das Modul ordnungsgemäß installiert ist, funktioniert es möglicherweise, wenn Sie es aus Ihrem globalen Knotenmodulverzeichnis heraus starten, Ihr Befehlszeilentool jedoch nicht weiß, wo sich das Modul befindet ng Befehl finden können, wenn Sie sich nicht in diesem Verzeichnis befinden.

Fügen Sie für die Win- Systemvariable Folgendes hinzu:

%USERPROFILE%\AppData\Roaming\npm

Und wenn Sie ein Unix-ähnliches Terminal verwenden (Emulator) verwenden:

PATH=$PATH:[path_to_your_user_profile]/path-to-npm
Fuma
quelle
2
Wenn Sie an mehreren Projekten mit unterschiedlichen Versionen der CLI arbeiten (sodass es nicht möglich ist, immer nur eine einzige globale Version export PATH=$PATH:node_modules/@angular/cli/bin/ngauszuführen ), versuchen Sie, die lokale Version auszuwählen, solange Sie den ngBefehl im Stammverzeichnis Ihres Angulars ausführen (Unter-) Projekt.
Janaka Bandara
@ JanakaBandara Wie würde ich diesen Exportbefehl in Win10 hinzufügen? Ist es in Ordnung, es in das .bash_profile einzufügen?
Diego Ortiz
1
Ja, das füge ich normalerweise hinzu.bashrc
Janaka Bandara
17

So habe ich es für mich gemacht :).

1 - npm link @angular/cli

Es wird dir den Weg von Cli zurückgeben , der so aussehen wird

/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli

Für diesen Teil /11.3.0_1Ersetzen durch Ihre jeweilige Knotenversion, die Sie durch Eingabe findennode --version

2 - cd ~/

3 - open .bash_profile

Erstellen Sie im Bash-Profil einen Alias für cli wie folgt :

alias ng="/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli/bin/ng"

4 - source ~/.bash_profile

So sieht Ihr .bash_profileWille aus, wenn Sie ihm einen Alias hinzufügen .

Geben Sie hier die Bildbeschreibung ein

Wenn Sie nun ngdas Terminal eingeben, wird die Ausgabe angezeigt, die im beigefügten Schnappschuss angezeigt wird.

Geben Sie hier die Bildbeschreibung ein

Ich hoffe, diese Antwort wird hilfreich sein.

Divyanshu Rawat
quelle
1
War npm link @angular/cligerade genug für mich. Vielen Dank.
Kunal Dethe
Ich bin
16

Die einfachste Lösung ist ( wenn Sie bereits eckig installiert haben ):

1 Entfernen Sie den Alias ​​ng, falls vorhanden

unalias ng

2 Fügen Sie den richtigen Alias ​​hinzu

alias ng="/Users/<user_name>/.npm-global/bin/ng"

3 Run ng Serve zum Beispiel und es wird funktionieren.

Achref Gassoumi
quelle
Es gibt kein .npm-globales Verzeichnis auf dem Mac
Pixel
@pixel sicher gibt es ein npm-global auf dem Mac. Weitere Informationen finden
Achref Gassoumi
1
@AchrefGassoumi Danke, aber nach stundenlangem Googeln würde kein Ort, der ein Aliasing für einen Ort vorschlägt, nicht funktionieren. Die einzige Möglichkeit für mich, dies zu beheben, war die Verwendung von nvm, wie ich in meiner Antwort auf diese Frage erklärt habe stackoverflow.com/questions/58138138/…
Pixel
14

Für Mac laufen

npm install -g @angular/cli@latest

dann renne

alias ng="/usr/local/lib/node_modules/node/lib/node_modules/@angular/cli/bin/ng"

Überprüfen Sie, ob es funktioniert

ng version
Francesco
quelle
Ich musste folgenden Alias-Befehl verwenden: - alias ng = "/ usr / local / lib / knotenmodule / @ angle / cli / bin / ng"
cammando
11

Führen Sie die folgenden Befehle aus:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

npm install -g @angular/cli@latest

alias ng="C:/Users/itaas/.npm-global/ng" (Speicherort der ng-Datei im npm-Ordner)

Und schließlich laufen:

ng -v 

Ng-v

Gajender Singh
quelle
Mit Winkel 7 denke ich, dass dies zu $ ​​ng Version geändert wurde
raikumardipak
Während dies ein Problem löst, schafft es ein anderes. Dies bedeutet immer, dass Sie NG von global und niemals von der Anwendungsebene aus ausführen.
Itanex
Nein, es ist nicht so, dass wir hier das Schlüsselwort ng neu definieren. Es gibt nichts Schöneres als App-Level. Es ist nur eine Konfigurationsdatei für den aktuellen Benutzer
Gajender Singh
9

In meinem Fall installieren Sie eckige Cli

npm install -g @angular/cli@latest

Aktualisieren Sie Nodejs auf den neuesten Stand , dann sollte alles gut funktionieren.

... und wenn Sie immer noch dieses Problem haben, liegt es vielleicht daran, dass Sie den Befehl in der Shell und nicht in cmd ausführen (Sie müssen den Befehl in cmd ausführen), überprüfen Sie dies und vielleicht hilft es ...

Ali Jamal
quelle
8

Ich habe das gleiche Problem mit dem Hinzufügen eines Alias ​​gelöst wie:

alias ng="path-to-your-global-node-modules/angular-cli/bin/ng"
m.zemlyanoi
quelle
Dies funktionierte gut für mich, aber jedes Mal, wenn ich mich anmeldete, musste ich es tun, also fügte ich es auf folgende Weise in meine .bashrc-Datei ein: "nano ~ / .bashrc" und fügte dort die folgende Zeile hinzu: alias ng = "/ usr / local / lib / node_modules / @ angle / cli / bin / ng "Ich verwende Ubuntu 14.04 auf Vagrant
Sabeeh Chaudhry
5

Für Mac-Benutzer:

1) Installieren Sie @ angle / cli global

$ sudo npm install -g @angular/cli
/usr/local/Cellar/node/10.0.0/bin/ng -> /usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng

2) Erstellen Sie einen Alias ​​für ng

alias ng="/usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng"

Getan

Roman Mahotskyi
quelle
5

Wenn Sie Angular Cli global installiert haben, ng jedoch nicht funktioniert, gehen Sie wie folgt vor:

echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc

source ~/.bashrc

ng --version
faye.babacar78
quelle
C: \> echo -e "export PATH = $ (npm Präfix -g) / bin: $ PATH" >> ~ / .bashrc Das System kann den angegebenen Pfad nicht finden.
GregJF
Dieser Befehl ist nur für Unix / Linux-Benutzer. Wenn Sie unter Windows arbeiten, sollte die Angular-CLI im Administratormodus installiert werden.
faye.babacar78
4

Versuche dies :

alias ng = "~ / node_modules / @ angle / cli / bin / ng"

Ali
quelle
3

Stellen Sie sicher, dass angle-cli installiert ist, bevor Sie versuchen, ein Projekt zu erstellen. Windows-Benutzer können angle -cli installieren, ohne die Befehlsberechtigung zu erteilen. MAC-Benutzer müssen jedoch sudo verwenden, bevor sie den Befehl wie folgt ausführen:

sudo npm install -g angular-cli

Geben Sie ein Passwort ein, wenn Sie dazu aufgefordert werden, und drücken Sie die Eingabetaste, um fortzufahren.

Maihan Nijat
quelle
3

Gleiches Problem hier unter Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9 .
Nach der Installation von Angular CLI über npm:

Der Befehl 'ng' wurde nicht gefunden

Mach Folgendes:

  1. Dpm deinstalliert mit npm uninstall -g npm
  2. Deinstallierte NodeJS über das Bedienfeld / Programme und Funktionen
  3. Das alte NodeJS-Installationsprogramm 6.5.0 wurde von https://nodejs.org/download/release/v6.5.0/ ( node-v6.5.0-x64.msi ) heruntergeladen und ausgeführt .
  4. Öffnen Sie nach Abschluss der Installation von NodeJS 6.5.0 Powershell und npm install -g angular-cli
  5. Schnapp dir einen schnellen Kaffee
  6. Nach Abschluss der Installation funktionierte ng einwandfrei.

HTH

Matt Kane
quelle
3

Überprüfen Sie zunächst, ob Ihre npm und Ihr Knoten ordnungsgemäß
mit den Befehlen npm versionund installiert wurden node -v.

Wenn sie richtig sind:

  1. Suchen Sie das globale Stammverzeichnis von NPM npm root -g(es gibt Ihnen das Stammverzeichnis Ihres globalen npm-Speichers).

  2. Deinstallieren Sie alte eckige Cli mit npm uninstall -g angular-cli undnpm cache clean

  3. Installieren Sie die neue Version von Angular neu npm install -g @angular/cli@latest

  4. Machen Sie einen Alias ​​des Namens ng:

alias ng="C:/ProgramData/npm/node_modules/@angular/cli/bin/ng"

alias ng="<ath-to-your-global-node-modules>/<angular cli path till ng>"
(vom 20. Oktober 16 um 15:30 @ m.zemlyanoi beantwortet)

Um dies zu überprüfen, können Sie ng -v eingeben

Mayank Parihar
quelle
2

Wenn Sie diesen Fehler bei der Installation von angle-cli finden, -bash: ng: command not found versuchen Sie dies, es funktioniert.

Nachdem Sie Node von Ihrem System entfernt haben

install NVM from here https://github.com/creationix/nvm
Install Node via NVM: nvm install stable
run npm install -g angular-cli
Raghu Nandan
quelle
2

Entsprechend npmwurde das angular-cliumbenannt in @angular/cliSie können die folgende Syntax verwenden, um es zu installieren.

npm install -g @angular/cli
nPcomp
quelle
1

Lösung nur für Windows-Betriebssystem ....... erster Schritt:

Installieren Sie die Version von nodejs: nodev 8.1.2

Zweiter Schritt: Richten Sie die Umgebungsvariable wie folgt ein: C: \ ProgramFiles \ nodejs

Dritter Schritt: Angular installieren Verwenden Sie diesen Befehl: npm install -g @ angle / cli

nach der Installation, wo immer Sie ein Projekt erstellen müssen wie: ng neues erstes Projekt ......

Raja Manikkam
quelle
1

Für mich (unter MacOSX) musste ich Folgendes tun:

nvm install stable
npm install -g angular-cli

Dies installiert ng in:

/usr/local/lib/node_modules/@angular/cli/bin/ng

Aber npm hat keinen Link zu ng in gesetzt

/usr/local/bin/

Aus diesem Grund war es nicht Teil des% PATH und daher über die Befehlszeile verfügbar, außer über eine absolute Adresse.

Also habe ich folgendes verwendet, um einen Link zu ng zu erstellen:

sudo ln -sf /usr/local/lib/node_modules/\@angular/cli/bin/ng /usr/local/bin/ng
Justin.Cooke
quelle
1

Laufen

export PATH=$PATH:/c/Users/myusername/AppData/Roaming/npm 

geholfen.

Stellen Sie sicher, dass sich Ihr tatsächlicher Benutzername im Abschnitt myusername befindet

Fey Agape
quelle
Jemand gibt dieser Person eine Medaille. Werke mögen einen Zauber.
Pramesh Bajracharya
0

Wenn Sie in Windows 7 arbeiten und den Befehl nicht ausführen können, beginnen Sie mit ng

Bitte aktualisieren Sie den Winkel / die CLI sofort und versuchen Sie, ng-Befehle zu verwenden

Verwenden Sie den folgenden Befehl, um die neueste CLI zu aktualisieren

npm install -g @angular/cli@latest
Hardik Leuwa
quelle
0

Dies funktioniert, um Ihr Angular / Cli // * Global-Paket (cmd als Administrator) zu aktualisieren.

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
alvic
quelle
0

Installieren Sie zuerst '@ angle / cli', indem Sie npm als globales Modul verwenden

sudo npm install -g @angular/cli

Versuchen Sie danach, die CLI mit dem Befehl 'ng' aus dem Terminalfenster zu pingen

Befehl 'ng' nicht gefunden

Dann müssen Sie das manuell einrichten

ng

Befehlsverfügbarkeit. Sie legen diesen Schritt fest, indem Sie den folgenden Befehl ausführen.

ln -s path-to-your-ng-command /bin

z.B:

sudo ln -s / opt / knoten / lib / knotenmodule / @ eckig / cli / bin / ng / bin /

Thrilok Kumar Pallaki
quelle
0

In meinem Fall geschah dies, als ich die Arbeit an einer benachbarten Registerkarte neu startete. Es war die npm, die nicht eingestellt war. Bitte überprüfen Sie die Version von npm wither using

npm -v

oder wenn du nvm hast dann

NVM-Liste

oder

nvm aktuell

Ich habe es auf 8.9.1 eingestellt und dann hat es wieder funktioniert. Ich hoffe, es hilft.

Rahul
quelle
0

Das hat bei mir funktioniert:

  1. Gehen Sie zu C: \ Users {{users}} \ AppData \ Roaming und löschen Sie den Ordner npm
  2. Deinstallieren Sie den Knoten und installieren Sie ihn erneut
  3. Führen Sie den Befehl aus, um Angular Cli zu installieren

    npm install -g @angular/cli
    
PrJ
quelle
0

In meinem Fall habe ich einfach die falsche Knotenversion ausgeführt.

Ich hatte gerade eine neue Knotenversion installiert, um mit Angular (2) herumzuspielen. Bei der Arbeit verwenden wir 6.x, so dass dies meine Standardeinstellung in nvm ist. Nach dem Neustart ngfunktionierte der Laptop nicht mehr, nur weil ich Node 6.x erneut ausführte. Für mich ging es einfach darum, die Version zu verwenden, mit der ich die Angular CLI installiert habe:

nvm use node // with the node alias pointing to the right version

oder

nvm use v8.11.3 // if you happen to know the version

Überprüfen Sie Ihre installierten Versionen und Aliase mit

nvm list 
Flip
quelle
0

Wenn Sie einen MacOS-Computer haben (meiner ist MOJAVE 10.14.2), fügen Sie diese Zeilen einfach am Ende Ihrer ~ / .bash_profile-Datei hinzu :

export ANGULAR=~/.nvm/versions/node/v10.8.0/bin/ng
export PATH=$ANGULAR:$PATH

Beachten Sie, dass v10.8.0 die Version meiner installierten Node.js ist. Führen Sie Folgendes aus, um festzustellen, welche Version Ihnen gehört:

node --version

Wenn Sie fertig sind, laden Sie es über Ihr Terminal / Ihre Bash neu:

cd ~
source .bash_profile

Nachdem Sie diese Schritte ausgeführt haben, sollten Sie in der Lage sein, Ihre ng- Binärdatei auszuführen .

Marcelo Gumiero
quelle
0

Das Reparieren der NodeJS-Installation unter Windows hat das Problem für mich behoben.

Blick
quelle