Termin „ng” nie jest rozpoznawany jako nazwa polecenia cmdlet

107

Dzisiaj, podczas pracy nad podstawowym wprowadzeniem do AngularJS, napotkałem problem.

Otworzyłem PowerShell, aby rozpocząć projekt. NPM zadziałało.

Udało mi się zainstalować Angulara za pomocą:

npm install -g @angular/cli

Za każdym razem, gdy próbowałem uruchomić ng, otrzymywałem:

the term 'ng' is not recognized as the name of a cmdlet
Wauna
źródło
2
zrób to w trybie „ Uruchom jako administrator
Pedram Ahmadpour,
Próbowałem wszystkiego tutaj bez skutku. Ja też musiałem biec npm install -g @angular/clii wtedy zadziałało.
Jnr
Czy naprawdę używasz AngularJS? W 2017 prawdopodobnie korzystałeś z Angulara (bez JS).
LosManos

Odpowiedzi:

125

Pierwsza ścieżka w zmiennej ścieżki musi być ścieżką NPM. Po otwarciu wiersza polecenia Node.js stwierdziłem, że działa tam polecenie ng. Zagłębiłem się w skrót i stwierdziłem, że odwołuje się do polecenia, aby upewnić się, że pierwsza zmienna Path to NPM. Naprawić:

  1. Kliknięcie prawym przyciskiem myszy na Mój komputer (Windows)
  2. Wybrane zaawansowane ustawienia systemu
  3. Kliknięto „Zmienne środowiskowe”
  4. W zmiennej „Path” ustaw PIERWSZĄ wyświetloną wartość %AppData%\npm

Kiedy to zrobiłem, mogłem zamknąć PowerShell i ponownie otworzyć i wszystko działało.

jonrsharpe
źródło
Po wykonaniu powyższych kroków "ng -v" działa, ale "ng build" nie działa. Występuje ten błąd „Wygląda na to, że nie jesteś zależny od„ @ angular / core ”. To jest błąd”.
PSR
6
Możesz również pominąć to wszystko w wielu przypadkach, po prostu wpisując „npm run ng ....”. Npm nadal zwykle działa w PowerShell bez zmian, a „npm run” pozwala na użycie poleceń ng.
SmoveBB
U mnie to zadziałało. Chcę tylko zrozumieć, dlaczego otrzymujemy ten błąd po zainstalowaniu nodejs, który jest już na ścieżce.
Saroj Kumar Sahoo
Cześć, to nie zadziałało ... jeśli ktoś może mi pomóc na skype lub zoom, proszę ..... próbuję od kilku dni, ale nie mogę rozwiązać ... Proszę
Laxminarayan Charan
1
@LaxminarayanCharan „jeśli ktoś może mi pomóc na skype lub zoom” nie jest odpowiednią prośbą o SO. Jeśli masz konkretny problem z zastosowaniem informacji, które są już dostępne w tej witrynie, zadaj nowe pytanie z minimalnym powtarzalnym przykładem .
jonrsharpe
84

Najpierw skonfiguruj Node.js, a następnie przejdź do folderu projektu za pomocą wiersza polecenia, takiego jak D: \ projekt, a następnie uruchom to polecenie:

npm install -g @angular/cli

Teraz uruchom polecenie ng. Ta praca dla mnie.

Ahmadreza Farrokhnejad
źródło
5
-gOznacza globalny. Jeśli instalujesz globalnie, nie powinno mieć znaczenia, czy jesteś w projekcie D: \ vs D: \ po uruchomieniu tego polecenia. Jedno ostrzeżenie: może to nie być to, czego chcesz, jeśli chcesz używać różnych wersji angular / cli do różnych projektów.
mattliu
to z pewnością poprawna odpowiedź, jeśli nie zainstalowano angular / cli
caras
20

W sekcji „Zmienne środowiskowe”

W sekcji „Zmienne systemowe”

W zmiennej „Path”, a przed "C:\Program Files (x86)\nodejs\"dodaniem =>"%AppData%\npm"

A. Morel
źródło
1
Dokładnie to, czego potrzebowaliśmy ... Wielkie dzięki
Md Faraz
Pracował dla mnie, dziękuję. Miał .npmrcplik z prefixustawioną ścieżką AppData.
Ananthapadmanabhan
12

Rozwiązanie zadziałało dla mnie:

Dodaj ścieżkę do swojego środowiska Zmienna

C:\Users\YourPcName\AppData\Roaming\npm

a także folder bin pliku kątowego [przedstaw się]

C:\Users\YoutPcName\AppData\Roaming\npm\node_modules\angular-cli\bin

a następnie uruchom ng -v , a pojawi się kątowe cli gui w wierszu polecenia. Uwaga Po uruchomieniu npm i -g @angular/cliuruchom ponownie wiersz polecenia i sprawdź, czy działa, w przeciwnym razie wyczyść pamięć podręczną i powtórzy powyższe kroki.

KRIPA SHANKAR JHA
źródło
Po wykonaniu polecenia „ng install -g @ angular / cli” powinienem ustawić zmienną AppData w ścieżce. Dzięki, teraz mogę działać płynnie.
Napster
Działa dla mnie, zamknij i ponownie uruchom VSCode
Cheah
8

Użyłem następujących:

npm run ng serve

Działało dla mnie bez konieczności ustawiania zmiennych środowiskowych.

Po tym musiałem zainstalować maszynopis:

npm install typescript@">=3.4 <3.6"
Arun Surawat
źródło
dokładnie to, czego chciałem. u mnie zadziałało po uruchomieniu npm run ng
serv
7

Zainstalowanie kątowego CLI na całym świecie rozwiązało mój problem.

npm install -g @angular/cli
Rut Shah
źródło
7

Zmiana polityki na Unrestricted zadziałała dla mnie:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Rayan Albouni
źródło
Dzięki ... To jest to, co wolę ponad wszystkie rozwiązania podane w tym zapytaniu. Ponieważ wszystkie rozwiązania mają swoje konsekwencje
Parth Devloper
4

Jeśli nazwa twojego projektu zawiera „-”. Usuń go i spróbuj. Może to powodować problemy z uruchomieniem 'ng'.

shambhu yadav
źródło
3

Otrzymałem ten błąd Visual Studio Codepodczas wykonywania ng-build. Uruchomienie poniższego polecenia w cmd rozwiązało mój problem

npm install -g @angular/cli@latest
R15
źródło
2

Otwórz Edytuj zmienne środowiskowe systemu

W zmiennej „Path” i „PS Module Path” dodaj „% AppData% \ npm”

Uruchom kod wizualny jako administrator

Mi to pasuje!

AleHulk
źródło
2

Wystarczy zamknąć kod Visual Studio i ponownie uruchomić. Ale aby polecenie ng działało w kodzie vs, musisz najpierw skompilować projekt za pomocą cmd w trybie administratora.

Miałem też ten sam problem. Ale ta metoda rozwiązała problem.

PrafulPravin
źródło
2

Wszystkie odpowiedzi dotyczą tego, jak to naprawić, ale najlepiej jest pobrać nodeJs i pozwolić instalatorowi dodać do zmiennej PATH.

Wersje 12 i 13 są zbyt nowe, więc musiałem pobrać 11.15 https://nodejs.org/download/release/v11.15.0/

rfcdejong
źródło
1

Zamiast wydawać polecenie „ng serve” w terminalu kodu programu Visual Studio, otwórz ścieżkę aplikacji kątowej w wierszu polecenia (Uruchom jako administrator).

Następnie wydaj polecenie „ng serv”.

Następnie otwórz przeglądarkę i przejdź do http: // localhost: 4200 /

Mi to pasuje.

początkujący programista
źródło
1

Należy zaktualizować node js do najnowszej wersji. W przeciwnym razie odinstaluj node js i zainstaluj go ponownie.

Deepa
źródło
1

Ten skrypt PowerShell działał, aby dodać prawidłowe ustawienie do mojej zmiennej środowiskowej „Ścieżka” (jako ustawienie dla użytkownika). Dodaje:% AppData% \ npm ... a następnie ponownie uruchom wiersz poleceń, który używa „ng”

   $existingPath = [System.Environment]::GetEnvironmentVariable("Path","User")      
   write-host "existing PATH variable is $existingPath"                                          
   $newPath = "%AppData%\npm;$existingPath"                                          
   write-host "new      PATH will be     $newPath"                                               

   # update here                                                                                      
   [System.Environment]::SetEnvironmentVariable("Path", $newPath, "User")           

   $finalPath = [System.Environment]::GetEnvironmentVariable("Path","User")         
   write-host "final    PATH variable is $finalPath"                                             
DavB.cs
źródło
Działa zgodnie z opisem.
koosk
1

Rozwiązałem, wykonując poniższe kroki

1. kliknij prawym przyciskiem myszy wiersz polecenia 2. Uruchom jako administrator 3. typ npm install -g @ angular / cli

vidhya c
źródło
1
nie powinieneś instalować pakietów npm globalnie
Tarick Welling
@TarickWelling proszę podać argument wspierający dla swojego oświadczenia.
Jacob-Jan Mosselman
Dlaczego więc istnieje -g? A jak masz zdobyć narzędzia CLI bez -g?
partner
1

1) Kliknięto prawym przyciskiem myszy na Mój komputer (Windows) 2) Wybrane zaawansowane ustawienia systemu 3) Kliknięto „Zmienne środowiskowe” 4) Pod zmienną „Ścieżka” ustaw PIERWSZĄ wymienioną wartość% AppData% \ npm

Początkowo : C: \ Program Files \ Microsoft MPI \ Bin \;% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ TortoiseSVN \ bin;

Po dodaniu ścieżki : C: \ Program Files \ Microsoft MPI \ Bin \; % AppData% \ npm; % SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ TortoiseSVN \ bin;

Jeszcze jedna rzecz, którą możesz wypróbować, jeśli błąd nadal się pojawia, jak poniżej 1) przejdź do lokalizacji projektu za pomocą wiersza poleceń: C: \ Users \ brijeshray \ ParentChild> 2) Zainstaluj ponownie lub zaktualizuj istniejący kąt jako: npm install -g @ angular / cli @najnowszy

3) Przejdź do komputera lub PC -> Właściwości -> Zaawansowane ustawienia systemu -> Zmienna środowiskowa -> dodaj ścieżkę poniżej „Zmienna użytkownika” (jeśli nie ma tam „Ścieżki”) ==> C: \ Users \ brijeshray \ AppData \ Roaming \ npm -> zapisz go i zrestartuj kod wizualnywprowadź opis obrazu tutaj

Brijesh Ray
źródło
1

Poprawka: uruchamianie skryptów jest wyłączone w tym systemie

Otwórz Powershell

    Set-ExecutionPolicy RemoteSigned
    ZA

(A: TAK DLA WSZYSTKICH)

Gotowe!

HaiNM
źródło
1

Dla VSCode Terminal najpierw otworzyć cmdi zainstalować angular-clijako globalny

npm install -g @angular/cli

Następnie zaktualizuj zmienne środowiskowe, wykonując ten krok

  1. win + s // to otworzy pole wyszukiwania
  2. Wpisz zmienne środowiskowe edycji
  3. Otwarte zmienne środowiskowe
  4. Dodaj do %AppData%\npmśrodkaPATH
  5. Kliknij OKi zamknij.

Teraz możesz ponownie uruchomić VSCodei będzie działać tak, jak zwykle.

Kirubel
źródło
0

Używałem npm (5.5.1), aktualizując go do najnowszej wersji, rozwiązałem mój problem.

Nofi
źródło
0

Możesz także upewnić się, że uruchamiasz wiersz polecenia - lub dowolny używany terminal - jako administrator. Używam Visual Studio Code, a ng servepolecenie daje mi ten dokładny błąd, gdy nie uruchamiam VS Code jako administrator.

dvlsc
źródło
0

Uruchom program PowerShell lub wiersz polecenia nie jako administrator.

dustydojo
źródło
0

Po zmianie ścieżki musisz ponownie uruchomić PowerShell. Nie musisz ponownie uruchamiać komputera.

Steve Scott
źródło
0

Problemem NIE jest instalacja NPM ani ścieżka! Jeśli chcesz użyć polecenia „ng”, musisz zainstalować plik angular-cli. uruchamiając następujące polecenie

npm install -g @angular/cli

https://cli.angular.io/

Suma Mandava
źródło
0

Na podstawie powyższych odpowiedzi tutaj konsolidacja.

  1. Uruchom polecenie npm install -g @angular/cli@project_version
  2. Dodaj poniższe ścieżki do zmiennych środowiskowych -> Zmienne systemowe -> Ścieżka (dla których wymagany jest dostęp administratora) .

    C: \ Users \ YourPcAccountName \ AppData \ Roaming \ npm C: \ Users \ YoutPcAccountName \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin Upewnij się, że pierwsza wartość jest wymieniona jako %AppData%\npm

  3. Otwórz ponownie wiersz polecenia z folderu projektu i uruchom ng serve.
Sasikumar
źródło
0

Uruchomiłem polecenie „ng serv” w wierszu polecenia. Projekt został pomyślnie skompilowany. Następnie wszelkie zmiany zapisane w VS Code są automatycznie odświeżane w przeglądarce.

PS: Zainstalowałem kątowe na całym świecie.

Rohit Parab
źródło
0

Możesz również uruchomić następujące polecenie, aby rozwiązać, npm install -g @ angular / cli

Brijesh Ray
źródło
0

Upewnij się również, że folder node_modules również istnieje w katalogu projektu. Jeśli go tam nie ma, pojawi się podobny problem. więc uruchom również instalację npm.

Bez nazwy
źródło
0

Mimo że udzielono poprawnych odpowiedzi. Ale to wszystko nie zadziałało, ponieważ:

  • Moja nazwa użytkownika nie miała uprawnień administratora i nie mogłem zaktualizować zmiennej środowiskowej, jak sugerowano w odpowiedziach.

Tak więc dla wszystkich, którzy mają ten sam problem co ja, oto co zrobiłem:

Zamiast ng serve

Skopiowałem i wkleiłem pełną ścieżkę lokalizacji ngpodobną do poniższej i zadziałało. Tak więc ng servepolecenie stało się:

C:\Users\MyUserName\AppData\Roaming\npm\ng.cmd serve

SU7
źródło