ng nie jest rozpoznawane jako polecenie wewnętrzne ani zewnętrzne

201

Uruchamianie systemu Windows 7 Professional w wersji 32-bitowej.

Próbowałem uruchomić npm install -g angular-clizarówno w trybie normalnym, jak i administracyjnym. 2016-06-23_14h46_40

Próbowałem również dodać go do zmiennych środowiskowych pod PATH: (C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng)bez skutku.
2016-06-23_14h56_48

Co ja robię źle?

Cristian Muscalu
źródło
6
Na pewno chcesz katalog ( C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin) w %PATH%?
Biffen,
Nie jestem pewny. Próbowałem tylko sprawdzić, czy „ng” działa, ale nie działa.
Cristian Muscalu
Czy otworzyłeś nowy wiersz poleceń? Zmienne środowiskowe nie będą propagowane do działających. Spróbuj echo %PATH%sprawdzić, czy jest poprawny.
Biffen
2
Sprawdź, czy %PATH%zawiera (to lista oddzielona średnikami) katalog, który zawiera ng.exe.
Biffen,
2
znalazłem rozwiązanie tego problemu stackoverflow.com/a/46874999/7968316
Rixwan

Odpowiedzi:

236

Dla mnie działa z:

npm run ng <command>
Bogdana Zadic
źródło
10
Czy znasz powód, dla którego tak jest i jak możemy pozbyć się „npm run”?
Pratik Gandhi,
5
ale pomija to wszelkie dodatkowe parametry po kompilacji
hakuna
Aby bezpośrednio uruchomić ngpolecenie, możesz połączyć swoje @angular/cliz npm za pomocą npm link @angular/cli
Asad Shakeel
3
@PratikGandhi Jest tak, ponieważ cmdmożna uruchamiać tylko polecenia określone w zmiennych środowiskowych (w tym przypadku npm). Ta ścieżka jest dodawana podczas globalnej instalacji węzła w systemie. Po dodaniu pełnej ścieżki C:\Users\<user>\AppData\Roaming\npm\node_modules\@angular\cli\bin\ngdo zmiennych środowiskowych i ponownym uruchomieniu cmdzostanie zaakceptowana ngjako polecenie. Alternatywnie można również użyć wiersza polecenia Node.js do uruchamiania poleceń.
MM
218

Rozwiązałem ten problem zgodnie z rysunkiem:

uruchomić w cmd

 npm install -g @angular/cli

i wtedy

(otwórz w Windows 10) Panel sterowania \ Wszystkie elementy panelu sterowania \ System lub zgodnie z rysunkiem

krok 1:

wprowadź opis zdjęcia tutaj

krok 2 :

wprowadź opis zdjęcia tutaj

krok 3:

wprowadź opis zdjęcia tutaj

krok 4:

wprowadź opis zdjęcia tutaj

krok 5:

wprowadź opis zdjęcia tutaj

I w końcu komputer musi zostać zrestartowany.

BehrouzMoslem
źródło
masz komentarze w Angular i NG (w res) w niewłaściwy sposób;)
Shaheen K
1
w moim przypadku potrzebowałem tylko dodać ścieżkę do npm.
Kieran
41
Na końcu nie musisz ponownie uruchamiać komputera, wystarczy ponownie uruchomić wiersz polecenia.
Aravindh Gopi
Lub możesz się wylogować („wylogować” w języku Win 10), a następnie zalogować się ponownie. Spowoduje to „zresetowanie” wszystkich zmiennych środowiskowych. Ale to małe ziemniaki ... obok tej faktycznej odpowiedzi. Głosuj. Dzięki.
granadaCoder,
C:\Users\<YOURUSER>\AppData\Roaming\npmnie jest ścieżką kątową, ale ścieżką npm, więc jeśli dodasz tę ścieżkę do zmiennych środowiskowych, wszystkie pakiety npm, które zainstalujesz z flagą -g, będą dostępne w linii poleceń (nie tylko ng).
PinguinoSod
113

Dodanie C:\Users\DELL\AppData\Roaming\npmdo zmiennej systemowej Pathdziałało dla mnie. Znajdź odpowiednią ścieżkę do pliku npm

Sprawdź także, czy dodałeś angular-cli\binścieżkę do zmiennej path.

Sabari
źródło
5
Spróbuj także ponownie uruchomić komputer. Po tym polecenie ng zaczęło działać.
Mateusz Migała
1
Wyszukaj ścieżkę do pliku „ng.cmd”. zaktualizuj zmienną środowiskową PATH o ścieżkę.
Jnana
4
Działa to dla mnie w systemie Windows 10, ale dodałem „% USERPROFILE% \ AppData \ Roaming \ npm”, aby objąć wielu potencjalnych użytkowników pobierających z własnych profili użytkowników.
Tim McElwee,
2
%AppData%\npmrozwinie się do wartości @TimMcElwee i @ sabari i będzie niezależny od użytkownika i maszyny.
ps2goat
dodanie folderu \ npm do zmiennych ścieżki naprawiło to dla mnie
Kaspazza
68

Używam WIN 10, po prostu rozwiąż ten problem. Wpisz poniższy kod w cmd:

Konfiguracja npm dostaje prefiks

i skopiuj i wklej ścieżkę, którą dostajesz od góry do zmiennych środowiskowych komputera -> pole zmiennych użytkownika -> ścieżka -> edycja - C: \ Program Files \ nodejs \ node_global , Twoja ścieżka może być inna.

Kliknij OK i ponownie otwórz okno cmd, wpisz wersję ng , a następnie zadziała! Twoje zdrowie!

YuSolution
źródło
Działa jak marzenie! Powłoka MySQL zastąpiła moją zmienną ścieżki użytkownika .. :(
Hamza Khanzada,
39

Wystarczy otworzyć wiersz polecenia (uruchom jako administrator). Upewnij się, że node --vjest to wersja 6.9.0 lub wyższa i npm --v3.0.0 r wyższa.

Następnie uruchom następujące polecenie:

npm install -g @angular/cli

Po zainstalowaniu kątownika. na ścieżce widać wpis kątowego cli

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

Następnie spróbuj pomóc. To będzie działać.

użytkownik1057641
źródło
26

1) Wpisz poniżej polecenie w wierszu polecenia

npm install -g @angular/cli

2) Upewnij się, że C: \ Users \ _username_ \ AppData \ Roaming \ npm ta ścieżka nie jest ukryta .

3) Dodaj C: \ Users \ _nazwa_użytkownika_ \ AppData \ Roaming \ npm i

C: \ Users \ _nazwa_użytkownika_ \ AppData \ Roaming \ npm \ node_modules @ angular \ cli \ bin do obu ścieżek zmiennych środowiska .

4) Otwórz nowy wiersz polecenia i wpisz polecenie ng . To będzie działać.

Shrirang
źródło
Nie widziałem katalogu AppData, dopóki nie uzyskałem uprawnień administratora dla mojego komputera z systemem Windows 10, a następnie nie otworzyłem okna poleceń, klikając opcję Uruchom jako administrator.
Robert Stevens
18

Z rozkazem

npm install -g @angular/cli@latest

Działa dobrze, jestem teraz w stanie uruchomić polecenie ng.

Yain Patel
źródło
16

Wykonałem poniższe kroki rozwiązania tego problemu w systemie Windows 10 :

  1. Najpierw upewnij się, że zainstalowałeś Angular CLI. Możesz użyć poniżej, aby zainstalować to samo.

npm install -g @ angular / cli @ latest

  1. Upewnij się, że AppData jest widoczna i przejdź do ścieżki poniżej.

C: \ Users \ rkota \ AppData \ Roaming \ npm

Tę samą ścieżkę można znaleźć, uruchamiając również poniżej:

Konfiguracja npm dostaje prefiks

  1. Dodaj powyższą ścieżkę, tj. „C: \ Users \ rkota \ AppData \ Roaming \ npm” w zmiennej środowiskowej PATH i upewnij się, że została dodana, uruchamiając ścieżkę w wierszu polecenia.
  2. Zamknij wiersz polecenia i teraz spróbuj uruchomić poniżej:

ng --version

będziesz mógł zobaczyć wersję CLI.

Ravi Shankar Kota
źródło
14

Rozwiązałem go kilka dni temu, po tym samym problemie z innymi globalnymi modułami, dodając do:

Tabele środowiska -> Zmienne systemowe -> Ścieżka:

C: \ Users \ Administrator \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin; C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin

Zauważ, że po tym nie może być żadnych spacji;

To okazało się moim problemem.

Cristian Muscalu
źródło
Wyszukaj ścieżkę do pliku ng.cmd. Zaktualizuj wartość zmiennej PATH zmiennej środowiskowej o tę samą ścieżkę. Uruchom ponownie konsolę wiersza poleceń i gotowe.
Jnana
3
Odpowiedź poniżej „npm config get prefix” jest poprawnym podejściem
Peter Morris
1
chyba że widzisz, że ngw folderze znajduje się ng.cmdlub Windows Command Scriptw kolumnie Typ, inaczej to ng w tym angular-cli\binnie działa.
Jeb50
ta odpowiedź wymaga aktualizacji, ponieważ teraz ścieżka w CLI 7.0 + to C: \ Users \ UserName \ AppData \ Roaming \ npm
Hemendra
12

Zamiast korzystać z wbudowanego wiersza polecenia, lepiej zacznij korzystać z wersji wiersza polecenia zainstalowanej przez NodeJS. Wtedy będzie działać idealnie bez żadnych problemów.wprowadź opis zdjęcia tutaj

ty ja
źródło
2
Uruchomienie where ngw tej konsoli może pomóc dowiedzieć się, co jest nie tak ze ścieżką. Zrobiło to dla mnie, ng został rozwiązany w niewłaściwej aplikacji AppData, stąd wykonanie złej wersji cli.
Frederik.L,
10

wykonaj następujące wiersze, aby rozwiązać problem zarówno dla nieznalezionej, jak i niezdefiniowanej wersji ng

npm odinstaluj -g angular-cli

odinstaluj npm --save-dev angular-cli

czyszczenie pamięci podręcznej npm

npm install -g @ angular / cli @ latest

Raja Fawad
źródło
9

Jeśli pojawi się błąd, nawet po wykonaniu powyższego kroku. następnie spróbuj poniżej.

Ponieważ jest to skrypt węzła. Używam poniższej opcji, aby utworzyć od teraz.

węzeł C: \ Users \ Administrator \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng wersja

Mogą być wymagane dowiązania symboliczne. Nie zbadano dalej.

Dalsze badania: ustaw ścieżkę jako:% PATH%; C: \ Users \ Administrator \ AppData \ Roaming \ npm;

W systemie Windows plik npm.cmd znajduje się w powyższej ścieżce. Jeśli ustawiona jest powyższa zmienna środowiskowa, możesz wykonać ją jako wersję ng init

Ram Kumar Dinesh
źródło
7
  1. Otwórz cmd i wpisz npm install -g @angular/cli

  2. W zmiennych środowiskowych dodaj zmienną użytkownika lub zmienną systemową wartość „Ścieżka” =C:\Users\your-user\.npm-packages\node_modules\.bin

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

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

    lub ng all-ng-commands

sahosseini
źródło
5

zamknij cmd i otwórz go ponownie z uprawnieniami administratora lub zrestartuj system.

Janak Bhatta
źródło
5

Napotkałem ten sam problem, gdy próbowałem zainstalować kątowe CLI lokalnie za pomocą polecenia

npm install @angular/cli@latest

Po tym mam ten sam problem C: \ Users \ vi1kumar \ Desktop \ tus \ ANGULAR \ AngularForms> ng -v 'ng' nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy

Następnie próbowałem zainstalować go globalnie

npm install -g @angular/cli@latest

W tym przypadku zadziałało Zastanawiałem się, czy nie jest możliwe globalne zainstalowanie CLI?

Po przeprowadzeniu badań uznałem ten artykuł za bardzo pomocny, który pomoże komuś, kto boryka się z podobnym problemem

Praca z wieloma wersjami Angular CLI

Vicky Kumar
źródło
4

Ten prawie dla mnie działał, ale musiałem użyć:% USERPROFILE% \ AppData \ Roaming \ npm. W zmiennych środowiskowych ... / Zmienne systemowe / Ścieżka

Potem, kiedy zrobiłem CMD: „ng -v” uzyskałem prawidłową odpowiedź dla kątowego cli.

użytkownik2030451
źródło
4

npm install -g @angular/cli pomógł mi zamiast npm install @angular/cli

Justin Lange
źródło
4

1- Zainstaluj

$ npm install -g @angular/cli

2- Upewnij się, gdzie ng.cmdjest twój obecny.

wprowadź opis zdjęcia tutaj

3- Następnie dodaj tę ścieżkę do zmiennych.

wprowadź opis zdjęcia tutaj

Teoman Shipahi
źródło
3

Miałem ten sam problem na Windows 7, 64 bity działające z npm v3.10.8.

  1. Dodałem ścieżkę zgodnie z sugestią: (C: \ Users ..... (twoja nazwa użytkownika) \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng) i odinstalowałem angular-cli.
  2. Następnie wyczyściłem pamięć podręczną npm, npm cache cleanzgodnie z monitem tutaj https://blogs.msdn.microsoft.com/matt-harrington/2012/02/23/how-to-fix-node-js-npm-permission-problems/ . Gwarantuje to, że nie ma resztek.
  3. Ponownie zainstalowano angular-cli z npm install -g angular-clii voila.

    Mam nadzieję, że może się przydać!
CyberMessiah
źródło
3

Miałem ten sam problem, gdy próbowałem ze składnią „ng new” i rozwiązałem to, po prostu aktualizując istniejącą wersję węzła z 5.xx do 8.xx Po udanej aktualizacji węzła, składnia działała idealnie dla mnie. Zaktualizuj istniejącą wersję węzła. Jak wyraźnie wspomniano w dokumentacji kątowej, że te polecenia wymagają wersji węzła> = 6.9.x. W celach informacyjnych sprawdź https://angular.io/guide/quickstart . Wyraźnie stwierdza: „Sprawdź, czy korzystasz z węzła co najmniej 6.9.x i npm 3.xx, uruchamiając węzeł -v i npm -v w oknie terminala / konsoli. Starsze wersje powodują błędy, ale nowsze wersje są w porządku”.

Durba Banerjee
źródło
3

Napotkałem ten sam problem na x86, Windows 7;

  • odinstalowano @ angular / cli
  • ponownie zainstalowany @ angular / cli
  • sprawdzone i zweryfikowane zmienne środowiskowe (bez problemów) ...
  • Wciąż ten sam problem:

Rozwiązaniem był plik .npmrc w C: \ Users {NAZWA UŻYTKOWNIKA} ... zmień prefiks tak, aby brzmiał on „przedrostek = $ {APPDATA} \ npm” ... Dzięki tej stronie za pomoc w jego rozwiązaniu

Akber Iqbal
źródło
3

Rozwiązałem problem, dodając -% AppData% \ npm \ node_modules @ angular \ cli \ bin \ path do mojej ścieżki zmiennych środowiskowych

Sajid Irfan
źródło
2

W moim przypadku zrobiłem poniżej kroków.

Wszystkie programy -> Węzeł JS-> Kliknij prawym przyciskiem myszy wiersz polecenia Node.js i wybierz właściwości, a następnie ciąg docelowy na końcu kopii poniżej

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

Uruchomiłem Visual Studio Code i otworzyłem poniższy plik

C:\Users\gochinta\AppData\Roaming\Code\User\settings.json i dał poniżej

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

}

Teraz wpisałem ng -vokno Visual Studio Code Terminal i zadziałało.

Ziggler
źródło
2

Mam do czynienia z tym samym problemem i problem został rozwiązany. Z mojego powodu jest to, że instaluję węzeł i CLI przy użyciu profilu innego użytkownika, a teraz uruchamiam polecenie ng z loginu innego użytkownika. Ponieważ węzeł i cli zainstalowane przy użyciu innego loginu użytkownika węzeł nie znajduje niczego na C:\Users\&lt;user name&gt;\AppData\Roamingtej ścieżce i dlatego otrzymuję ten błąd.

Uruchamiam npm install -g @angular/clipolecenie i ponownie uruchamiam komputer. Wszystko działa dobrze.

Nitin Jain
źródło
2

Kiedyś w przyszłości. Dotyczy komputera z systemem Windows 8.1. Uruchom następujące polecenia

npm install -g @angular/cli

Wyloguj się lub uruchom ponownie komputer.

To powinno dodać wymaganą ścieżkę env, zamiast robić to ręcznie.

Krishneil
źródło
2

Próbowałem także grać z cmd, ustawiając ścieżkę zmiennej środowiskowej itp., Ale prostą odpowiedzią jest użycie wiersza polecenia nodejs.

Nie musisz więc ustawiać ścieżki zmiennej środowiskowej ani nic takiego. Kiedy zainstalujesz nodejs, poda on swój wiersz polecenia, używając polecenia „ng”, bez żadnych ustawień.

Bhaurao Birajdar
źródło
2

Ponieważ pytanie to wciąż zadawane jest w kółko rok później, zamieszczę tutaj swoją odpowiedź.

Wskazówka (tylko w systemie Windows) polega na ustawieniu wpisów w zmiennej ścieżki po prawej stronie.

Jak mówi wiki NPM :

Ponieważ instalator umieszcza C: \ Program Files (x86) \ nodejs przed C: \ Users \\ AppData \ Roaming \ npm na ŚCIEŻCE, zawsze użyje wersji npm zainstalowanej z węzłem zamiast wersji npm, którą zainstalowałeś npm -g install npm@<version>.

Twoja zmienna ścieżki będzie wyglądać mniej więcej tak:

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

Teraz masz dwie możliwości:

  1. Zamień dwa wpisy, aby wyglądały tak
…;%appdata%\npm;C:\<path-to-node-installation>;…

Spowoduje to załadowanie wersji npm zainstalowanej z npm (a nie z węzłem) oraz z zainstalowaną wersją Angular CLI.

  1. Jeśli (z jakiegokolwiek powodu) lubisz korzystać z wersji npm dołączonej do węzła, dodaj bezpośrednią ścieżkę do globalnej wersji interfejsu Angualr CLI. Następnie zmienna ścieżki powinna wyglądać następująco: …;C:\Users\<username>\AppData\Roaming\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… lub …;%appdata%\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… w skróconej formie.

To działało dla mnie od jakiegoś czasu.

jowey
źródło
1

Miałem ten sam problem z tym, że Visual Studio Code nie mógł uruchomić żadnych poleceń ng we wbudowanym terminalu.

Dodałem% AppData% \ npm do ścieżki w systemie Windows 10 i nie musiałem się ponownie uruchamiać, po prostu zamknąłem i ponownie otworzyłem kod VS, a on go nie widzi.

GaryP
źródło
ten sam problem, dla którego wyznaczyłem nową ścieżkę AppData\Roaming\npm\node_modules\@angular\cli\bin\ngi teraz działa dobrze
Abdallah Abdillah
1

Zainstaluj wersję nodejs w wersji x32 zamiast wersji x64 (nawet na 64-bitowym komputerze z systemem Windows).

Nitish Kumar
źródło
1

Dla mnie coś było nie tak w zmiennej środowiska PATH. Usunąłem wszystkie ścieżki związane z npm i dodałem na początku PATH ten folder:

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

Upewnij się, że masz ;między ścieżkami.

Iść do
źródło
jest to właściwe, ponieważ zarówno Win7, jak i 10 mają ng. plik cmd tutaj.
Jeb50