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?


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>

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.


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.


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!


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


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


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.


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.


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.


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


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


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


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


5

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


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


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.



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


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ć!

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


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


3

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


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.


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.


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.


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


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.


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.


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


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.


jest to właściwe, ponieważ zarówno Win7, jak i 10 mają ng. plik cmd tutaj.
Jeb50
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.