ng: polecenie nie zostało znalezione podczas tworzenia nowego projektu za pomocą angular-cli

112

Zainstalowano globalnie angular-cli przy użyciu ( npm install -g angular-cli), ale kiedy próbuję utworzyć projekt za pomocą ng new my-projecttego, generuje błąd:

ng: nie znaleziono polecenia

klocki Lego
źródło
co się stanie, gdy wpiszesz ng --help? Zostało to również opublikowane w repozytorium angular cli. sprawdź ten link
VirendraJ
Nawet kiedy wpisuję ng --help ten sam problem ng: command not found, w dzienniku problemów sugeruje użycie nvm, ale chciałbym użyć npm. Próbowałem poprawić ścieżkę, dodając alias w moim .profile, ale już istnieją ustawienia proxy, więc jak mogę dodać nową ścieżkę za pomocą alias = alias ng = "Users / xxxx / npm / lib / node_modules / angular-cli / bin / ng ”
lego
Czy możesz opublikować swoją wersję systemu operacyjnego, a także wersję npm
pd farhad
Korzystanie z systemu Mac OS, npm wersja - 2.14.20 i wersja węzła - 4.4.0
LEGO
3
Czy możesz sprawdzić, czy jest zainstalowany przez ...npm ls --global --depth 0
Brocco

Odpowiedzi:

155

Sprawa jest prosta, o której npmnie ma pojęciang

Po prostu uruchom npm link @angular/clii powinno działać bezproblemowo.

abhinavroy23
źródło
4
Czy możesz wyjaśnić więcej na ten temat?
Pardeep Jain
4
@PardeepJain: link polecenie w zasadzie tworzy łącze globalne, a następnie łączy globalny cel instalacji z folderem node_modules projektu.
abhinavroy 23
2
Nie działa, przepraszam. alias ng="PATH-TO-GLOBAL/.npm-global/bin/ng" ( Location of ng file in npm folder) To załatwiło sprawę.
saran3h
2
To zadziałało. Po prostu musiałem biec sudo. sudo npm link @angular/cli.
Craig
3
Mogę potwierdzić, że to rozwiązanie działa. Używam systemu Windows i mogę potwierdzić, że to rozwiązanie zadziałało. Ale musiałem zrobić coś dodatkowo: Uruchomić to w PowerShell: „Set-ExecutionPolicy Unrestricted”. Pozwala to na uruchamianie plików .ps1 (powershell).
lucamuh
47

Po pierwsze, angular-clijest przestarzały i został zastąpiony przez @angular/cli. Więc jeśli odinstalujesz istniejący angular-cli za pomocą npm uninstall angular-cli, a następnie ponownie zainstalujesz pakiet z nową nazwą @ angular / cli, możesz mieć pewne konflikty. Moja historia na Windows 7 to:

Zainstalowałem angular-cli i przeinstalowałem za pomocą npm install -g @angular/cli, ale po wprowadzeniu pewnych zmian konfiguracyjnych w narzędziach wiersza poleceń, zacząłem otrzymywać polecenie ng nie znaleziono problemu. Spędziłem kilka godzin próbując to naprawić, ale żaden z powyższych problemów sam nie działał. Udało mi się to naprawić, wykonując następujące kroki:

Zainstaluj Rapid Environment Editor i usuń wszystkie wpisy PATH dla node, npm, angular-cli lub @ angular / cli. Node.js będzie w Twojej ścieżce systemowej, npm i wpisy kątowe będą w ścieżce użytkownika.

Odinstaluj node.js i ponownie zainstaluj aktualną wersję (dla mnie 6.11.1). Uruchom ponownie narzędzie Rapid Environment Editor i upewnij się, że node.js i npm znajdują się w ścieżce System lub User. Odinstaluj wszystkie istniejące wersje ng za pomocą:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

Usuń folder C: \ Users \% YOU% \ AppData \ Roaming \ npm \ node_modules \ @angular .

Uruchom ponownie, a na koniec uruchom:

npm install -g @angular/cli

Następnie wstrzymaj oddech i biegnij:

ng -v

Jeśli masz szczęście, dostaniesz trochę miłości. Wstrzymaj oddech od tej pory za każdym razem, gdy uruchamiasz polecenie ng, ponieważ komunikat „nie znaleziono polecenia” w magiczny sposób pojawiał się u mnie ponownie kilka razy po tym, jak ng działał poprawnie i myślałem, że problem został rozwiązany.

VanAlbert
źródło
3
sudo npm install -g @
angular
Przepraszamy, ale to nie działa. Wypróbowałem wszystkie powyższe polecenia i użyłem sudo do ich wydania. Korzystam z systemu Mac OS.
piksel
Postępowałem zgodnie z tym formatem i działało dobrze bez edytora Rapid Environment. W systemie Windows 10 ręcznie zaktualizowałem ścieżki w zmiennych Einvronment. Od jakiegoś czasu nie korzystałem z Node ani Angular, ponieważ mój ostatni projekt był rdzeniem dotnet. Musiałem więc ponownie zainstalować najnowszą wersję zarówno npm, jak i węzła, a następnie zresetować moje ścieżki i zrestartować komputer przed krokiem deinstalacji angular / cli.
Vic
21

Upewnij się, że katalog npm znajduje się w zmiennej „ Path ”.

Jeśli moduł jest zainstalowany poprawnie, może zadziałać, jeśli uruchomisz go z katalogu modułu globalnego węzła, ale narzędzie wiersza poleceń nie wie, gdzie znaleźć ngpolecenie, gdy nie jesteś w tym katalogu.

Dla zmiennej systemowej Win dodaj coś takiego:

%USERPROFILE%\AppData\Roaming\npm

A jeśli używasz terminala typu unix (emulator):

PATH=$PATH:[path_to_your_user_profile]/path-to-npm
fuma
źródło
2
Jeśli pracujesz nad wieloma projektami przy użyciu różnych wersji CLI (tak, że zawsze uruchamianie pojedynczej wersji globalnej nie jest opcją), spróbuj export PATH=$PATH:node_modules/@angular/cli/bin/ng- wybierze wersję lokalną, o ile uruchomisz ngpolecenie w katalogu głównym swojego Angular (pod) projekt.
Janaka Bandara
@JanakaBandara jak dodać to polecenie eksportu w Win10? Czy można go dodać do .bash_profile?
Diego Ortiz
1
Tak, zwykle dodam to do.bashrc
Janaka Bandara
17

Tak mi się to udało :).

1 - npm link @angular/cli

Zwróci ci ścieżkę CLI , która będzie wyglądać następująco

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

W tej części /11.3.0_1zastąp ją odpowiednią wersją węzła, którą można znaleźć, wpisującnode --version

2 - cd ~/

3 - open .bash_profile

W profilu bash utwórz alias dla CLI w ten sposób,

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

4 - source ~/.bash_profile

Tak .bash_profilebędzie wyglądać Twoja wola po dodaniu do niej aliasu .

wprowadź opis obrazu tutaj

Teraz wpisanie ngw terminalu spowoduje wyświetlenie danych wyjściowych pokazanych w załączonej migawce.

wprowadź opis obrazu tutaj

Mam nadzieję, że ta odpowiedź będzie pomocna.

Divyanshu Rawat
źródło
1
Po prostu npm link @angular/climi wystarczyło. Dzięki.
Kunal Dethe
Cieszę się, że ci pomogło :)
Divyanshu Rawat
16

najłatwiejszym rozwiązaniem jest ( jeśli masz już zainstalowany kątowy ):

1 usuń alias ng, jeśli istnieje

unalias ng

2 dodaj poprawny alias

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

3 run ng służy na przykład i będzie działać.

Achref Gassoumi
źródło
nie ma katalogu .npm-global na Macu
piksel
@pixel na pewno na Macu jest npm-global. Więcej informacji znajdziesz tutaj. flaviocopes.com/npm-packages-local-global
Achref Gassoumi
1
@AchrefGassoumi Dzięki, ale po godzinach googlowania żadna lokalizacja sugerująca aliasowanie do lokalizacji nie zadziała. Jedynym sposobem rozwiązania tego problemu było użycie nvm, jak wyjaśniłem w odpowiedzi na to pytanie stackoverflow.com/questions/58138138/ ...
pixel
14

Uruchom na Maca

npm install -g @angular/cli@latest

następnie uruchomić

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

Sprawdź, czy działa

ng version
Francesco
źródło
Musiałem użyć następującego polecenia aliasu: - alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng"
cammando
11

Uruchom poniższe polecenia:

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" (Lokalizacja pliku ng w folderze npm)

I wreszcie biegnij:

ng -v 

Ng-v

Gajender Singh
źródło
Chyba z Angular 7 zmieniło się to na wersję $ ng
raikumardipak
Chociaż rozwiązuje to jeden problem, tworzy inny. Będzie to zawsze oznaczać, że uruchamiasz NG z poziomu globalnego, a nigdy z poziomu aplikacji.
Itanex
Nie, to nie tak, że tutaj ponownie definiujemy słowo kluczowe ng. Nie ma to jak poziom aplikacji. to tylko plik konfiguracyjny dla aktualnego użytkownika
Gajender Singh
9

W moim przypadku zainstaluj kątowe cli

npm install -g @angular/cli@latest

zaktualizuj Nodejs do najnowszej , wszystko powinno działać dobrze.

... a jeśli nadal masz ten problem, może to dlatego, że uruchamiasz polecenie w powłoce, a nie w cmd (musisz uruchomić polecenie w cmd), sprawdź to i może to pomaga ...

Ali Jamal
źródło
8

Rozwiązałem ten sam problem z dodaniem aliasu, takiego jak:

alias ng="path-to-your-global-node-modules/angular-cli/bin/ng"
m.zemlyanoi
źródło
To działało dobrze, ale za każdym razem, gdy się logowałem, musiałem to robić, więc dodałem go do mojego pliku .bashrc w ten sposób: "nano ~ / .bashrc", a następnie dodałem następujący wiersz: alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng "Używam ubuntu 14.04 na
vagrant
5

Użytkownicy komputerów Mac:

1) Zainstaluj @ angular / cli globalnie

$ 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) Utwórz alias dla ng

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

Gotowe

Roman Mahotskyi
źródło
5

Jeśli zainstalowałeś Angular CLI globalnie, ale ng nie działa, po prostu zrób to:

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

source ~/.bashrc

ng --version
faye.babacar78
źródło
C: \> echo -e "export PATH = $ (npm prefiks -g) / bin: $ PATH" >> ~ / .bashrc System nie może znaleźć określonej ścieżki.
GregJF
To polecenie jest przeznaczone tylko dla użytkowników systemów Unix / Linux. Jeśli korzystasz z systemu Windows, Angular CLI powinien być zainstalowany w trybie administratora.
faye.babacar78
4

Spróbuj tego :

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

Ali
źródło
3

Upewnij się, że angular-cli jest zainstalowany przed próbą utworzenia projektu. Użytkownicy systemu Windows mogą zainstalować angular-cli bez wydawania uprawnień do polecenia, ale użytkownicy komputerów Mac muszą użyć sudo przed wykonaniem polecenia w następujący sposób:

sudo npm install -g angular-cli

Wpisz hasło, gdy zostaniesz o to poproszony, i naciśnij Enter, aby kontynuować.

Maihan Nijat
źródło
3

Ten sam problem z systemem Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9 .
Po instalacji Angular CLI przez npm:

Nie można znaleźć polecenia „ng”

Wykonaj następujące czynności:

  1. Odinstalowano npm z npm uninstall -g npm
  2. Odinstalowano NodeJS za pośrednictwem panelu sterowania / programów i funkcji
  3. Pobrano i uruchomiono „stary” instalator NodeJS w wersji 6.5.0 z https://nodejs.org/download/release/v6.5.0/ ( node-v6.5.0-x64.msi ).
  4. Po zakończeniu instalacji NodeJS 6.5.0 otwórz PowerShell i npm install -g angular-cli
  5. Weź szybką kawę
  6. Po zakończeniu instalacji ng działał OK.

HTH

Matt Kane
źródło
3

Przede wszystkim sprawdź, czy twój npm i węzeł są poprawnie zainstalowane za
pomocą poleceń npm versioninode -v .

Jeśli są poprawne:

  1. Znajdź główny katalog globalny NPM npm root -g(da ci root twojego globalnego sklepu npm)

  2. Odinstaluj starą kątową Cli za pomocą npm uninstall -g angular-cli inpm cache clean

  3. Zainstaluj ponownie nową wersję angular npm install -g @angular/cli@latest

  4. utwórz alias nazwy 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>"
(z odpowiedzi 20 października 2016 o 15:30 @ m.zemlyanoi)

następnie, aby sprawdzić, możesz wpisać ng -v

mayank parihar
źródło
2

jeśli znajdziesz ten błąd podczas instalacji angular-cli, -bash: ng: command not foundspróbuj to działa,

Po usunięciu Node z systemu

install NVM from here https://github.com/creationix/nvm
Install Node via NVM: nvm install stable
run npm install -g angular-cli
Raghu nandan
źródło
2

Zgodnie z tym npm, że angular-clinazwa została zmieniona na @angular/cli, możesz użyć następującej składni, aby go zainstalować.

npm install -g @angular/cli
nPcomp
źródło
1

rozwiązanie tylko dla systemu operacyjnego Windows ....... pierwszy krok:

zainstaluj wersję nodejs: nodev 8.1.2

Drugi krok: skonfiguruj zmienną środowiskową, taką jak: C: \ ProgramFiles \ nodejs

Trzeci krok: zainstaluj kątowy użyj tego polecenia: npm install -g @ angular / cli

po instalacji gdziekolwiek musisz stworzyć projekt taki jak: ng nowy pierwszy-projekt ......

raja manikkam
źródło
1

Dla mnie (na MacOSX) musiałem zrobić:

nvm install stable
npm install -g angular-cli

Ten zainstalowany ng w:

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

Ale npm nie umieścił linku do ng w

/usr/local/bin/

Dlatego nie był on częścią% PATH i dlatego był dostępny z wiersza poleceń, z wyjątkiem adresu bezwzględnego.

Więc użyłem poniższego, aby utworzyć link do ng:

sudo ln -sf /usr/local/lib/node_modules/\@angular/cli/bin/ng /usr/local/bin/ng
Justin.Cooke
źródło
1

bieganie

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

pomógł.

Upewnij się, że Twoja rzeczywista nazwa użytkownika znajduje się w sekcji moja nazwa użytkownika

Fey Agape
źródło
Ktoś wręczy tej osobie medal. Działa lubi urok.
Pramesh Bajracharya
0

Jeśli pracujesz w systemie Windows 7 i nie możesz uruchomić polecenia, zacznij od ng

proszę od razu zaktualizować angular / CLI i spróbować użyć poleceń ng

Użyj poniższej komendy, aby zaktualizować najnowszy CLI

npm install -g @angular/cli@latest
Hardik Leuwa
źródło
0

Działa to w celu zaktualizowania pakietu angular / cli // * Global (cmd jako administrator)

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
alvic
źródło
0

Najpierw zainstaluj „@ angular / cli”, używając npm jako modułu globalnego

sudo npm install -g @angular/cli

Następnie spróbuj wysłać ping do CLI, używając polecenia 'ng' z okna terminala

Nie znaleziono polecenia „ng”

Następnie musisz ręcznie skonfigurować

ng

dostępność polecenia. ten krok ustawia się, uruchamiając następujące polecenie.

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

na przykład:

sudo ln -s / opt / node / lib / node_modules / @ angular / cli / bin / ng / bin /

Thrilok Kumar Pallaki
źródło
0

W moim przypadku działo się to, gdy ponownie uruchomiłem pracę na sąsiedniej karcie. To npm nie został ustawiony. Proszę sprawdzić wersję npm wither przy użyciu

npm -v

lub jeśli masz wtedy nvm

lista nvm

lub

aktualny NVM

Ustawiłem go na 8.9.1, a potem znowu zaczął działać. Mam nadzieję, że to pomoże.

Rahul
źródło
0

To zadziałało dla mnie:

  1. Przejdź do C: \ Users {{users}} \ AppData \ Roaming i usuń folder npm
  2. Odinstaluj węzeł i zainstaluj go ponownie
  3. Uruchom polecenie, aby zainstalować kątowe CLI

    npm install -g @angular/cli
    
PrJ
źródło
0

W moim przypadku po prostu uruchamiałem niewłaściwą wersję węzła.

Właśnie wcześniej zainstalowałem nową wersję węzła, aby bawić się Angular (2). W pracy używamy 6.x, więc jest to moje domyślne ustawienie w nvm. Po ponownym uruchomieniu laptop ngprzestał działać po prostu dlatego, że ponownie uruchomiłem node 6.x. Więc dla mnie była to po prostu kwestia użycia wersji, z którą instalowałem Angular CLI:

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

lub

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

Sprawdź zainstalowane wersje i aliasy za pomocą

nvm list 
Trzepnięcie
źródło
0

Jeśli masz komputer z systemem MacOS (mój to MOJAVE 10.14.2), po prostu dodaj te wiersze na końcu pliku ~ / .bash_profile :

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

Zauważ, że wersja 10.8.0 to wersja mojego zainstalowanego Node.js. Aby sprawdzić, która wersja jest Twoja, uruchom to:

node --version

Po zakończeniu załaduj go ponownie przez terminal / bash:

cd ~
source .bash_profile

Po wykonaniu tych czynności powinieneś być w stanie uruchomić plik binarny ng .

Marcelo Gumiero
źródło
0

Naprawienie instalacji NodeJS w systemie Windows rozwiązało to za mnie.

Spojrzenie
źródło