Jak odinstalować / zaktualizować Angular CLI?

106

Kiedy próbuję stworzyć nowy projekt za pomocą Angular CLI , z:

ng n app

Otrzymuję ten błąd:

fs.js: 640 return binding.open (pathModule._makeLong (ścieżka), stringToFlags (flagi), tryb); ^ TypeError: ścieżka musi być ciągiem znaków lub buforem w TypeError (natywna)

Jak mogę zaktualizować lub odinstalować Angular CLI ?

RohanArihant
źródło
6
Użyjnpm uninstall -g angular-cli
ranakrunal9
8
Teraz użyj npm uninstall -g @angular/cli ( stackoverflow.com/questions/43070441/… )
Jeremy Moritz

Odpowiedzi:

296

Aby odinstalować, użyj następujących poleceń:

npm uninstall -g @angular/cli
npm cache clean --force

Aby zweryfikować: ng --version / * Otrzymasz komunikat o błędzie, oznacza to, że odinstalowałeś * /

Za pomocą następujących poleceń do ponownej instalacji:

npm install -g @angular/cli

Uwagi: - Używanie --force do czyszczenia wszystkich pamięci podręcznych - W Windows uruchom to za pomocą administratora - Na Macu użyj sudo ( $ sudo <command>)

  • Jeśli używasz npm>5, może być konieczne użycie zamiast tego weryfikacji pamięci podręcznej. ( $ npm cache verify)
Santosh Pillai
źródło
11
Zwróć uwagę, że Angular CLI został przeniesiony do @ angular / cli: [sudo] npm install -g @ angular / cli
Osmund Francis
5
npm cache czyste został zastąpiony przez npm cache verfy tak wydaje
Arnd Brugman
2
npm ERR! Począwszy od npm @ 5, pamięć podręczna npm samonaprawia się po problemach z uszkodzeniem, a dane wyodrębnione z pamięci podręcznej są prawidłowe. Jeśli chcesz się upewnić, że wszystko jest spójne, użyj zamiast tego opcji „npm cache verify”.
NoamG
jak odinstalować najnowszą wersję
angular
3
@NaomG npm wersja> 5 nie wymaga czyszczenia pamięci podręcznej .. ale nadal, jeśli potrzebujesz, uruchomnpm cache clean --force
Ashish Yadav
28

Żadne z powyższych rozwiązań samodzielnie nie zadziałało. W systemie Windows 7 to zadziałało:

Zainstaluj Rapid Environment Editor i usuń wszystkie wpisy dla węzła,npm, angular-cli or @angular/cli

Odinstaluj node.js i zainstaluj ponownie. 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ń C:\Users\YOU\AppData\Roaming\npm\node_modules\@angularfolder.

Uruchom ponownie, a na koniec uruchom:

npm install -g @angular/cli

Następnie wstrzymaj oddech i uruchom 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
jeszcze prostsze: stackoverflow.com/questions/43070441/…
Jeremy Moritz
15

Uruchom następujące polecenia, aby uzyskać najnowsze informacje o kątach

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
npm install
Stanley Mohlala
źródło
6

usuń odniesienie globalne

npm uninstall -g angular-cli
npm cache clean
W
źródło
ale błąd jest taki sam. Czy ktoś ma jakieś rozwiązanie dla tego fs.js: 640 return binding.open (pathModule._makeLong (ścieżka), stringToFlags (flagi), tryb); ^ TypeError: ścieżka musi być ciągiem lub buforem w TypeError (natywna) w Object.fs.openSync (fs.js: 640: 18) w Object.fs.readFileSync (fs.js: 508: 33)
RohanArihant
Jest to bardzo ogólny błąd, może to być wszystko, brak zależności lub zła konfiguracja. Lepiej zapytać o to na github.com/angular/angular.js/issues . BTW powyżej to sposób na odinstalowanie angular.
W
dodaj „--force” na końcu bez apostrofów.
Dale
5

Angular cli przeniósł się do @angular/cli, tak jak z pliku readme na githubie,

sudo npm uninstall -g @angular/cli
npm cache clean
Wszystko jest Vаиітy
źródło
4

Wpadłem na to niedawno na Macu, musiałem usunąć folder ng z /usr/local/bin. Było tak dawno, że zainstalowałem Angular CLI, nie jestem do końca pewien, jak go pierwotnie zainstalowałem.

jassok
źródło
2

Aby odinstalować go globalnie, po prostu uruchom poniższe polecenie:

npm uninstall -g @angular/cli

Po zakończeniu wyczyść pamięć podręczną, uruchamiając poniższe polecenie:

npm cache clean

Teraz, aby zainstalować najnowszą wersję Angulara, po prostu uruchom:

npm install -g @angular/cli@latest

Aby uzyskać szczegółowe informacje na temat Angular CLI, zapoznaj się z wprowadzeniem do Angular i przewodnikiem po interfejsie CLI

Uttam Kumar Mishra
źródło
1
Wszystkie trzy odpowiedzi zawierają ten sam link. Jeśli jesteś w jakikolwiek sposób powiązany, musisz dodać informację. A nawet jeśli to zrobisz, pamiętaj, że nadmierna autopromocja również może zostać uznana za spam. Zobacz, jak nie być spamerem
Zoe
2

Wypróbowałem wszystkie powyższe rzeczy i nadal trzymam się całego świata. Więc w PowerShell pobiegłem Get-Command ngi wtedy stało się jasne, na czym polega mój problem. W przeszłości intensywnie używałem przędzy, a wszystkie stare pakiety kątowe CLI zostały również zainstalowane globalnie w lokalizacji pamięci podręcznej przędzy. Usunąłem pamięć podręczną przędzy na dobre, ale prawdopodobnie mogłem właśnie zaktualizować globalne kliknięcie kątowe za pośrednictwem przędzy. W każdym razie, mam nadzieję, że pomoże to niektórym z was przypomnieć, że jeśli używasz przędzy, wtedy polecenia globalne, takie jak ng, mogą również żyć na innej ścieżce niż ta, którą umieszcza npm.

Rafe
źródło
2

Zwykłe rozwiązanie, które nie zawsze działa:

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli

Inne bardziej drastyczne rozwiązanie:

  • Odinstaluj na Angular CLIcałym świecie
npm uninstall -g @angular/cli
  • Odinstaluj Node.js& za npmpomocą dezinstalatora
  • Usuń wszystkie zmienne środowiskowe związane z Node.js&npm
  • Usuń foldery C:\Users\<user>\AppData\Roaming\npmiC:\Users\<user>\AppData\Roaming\npm-cache
  • Sprawdź, czy te polecenia to ko:
ng version
npm -v
node -v
npm install -g @angular/cli
  • Na koniec sprawdź swoją globalną wersję Angular CLI:
ng version
veben
źródło
1

Cóż, wiele odpowiedzi powyżej, nawet ja miałem problem polegający na tym, że nie mogłem stworzyć nowej aplikacji z kątowym CLI 9.1.0 w systemie Mac OS 10.15.3. Mój problem został rozwiązany przez odinstalowanie kątowej karty CLI, wyczyszczenie pamięci podręcznej i ponowne zainstalowanie kątowej pamięci podręcznej.

npm uninstall -g @angular/cli

Sprawdź stan instalacji za pomocą ng --version

npm cache verify
npm install -g @angular/cli

Spróbuj utworzyć nową aplikację z ng new my-appteraz, aby sprawdzić, czy powyższe pomoże.

Gururaj Birajdar
źródło
0

użyj następującego polecenia, jeśli zainstalowałeś go globalnie,

 npm uninstall -g angular-cli
Ajith KP
źródło
0

Nie odpowiedź na twoje pytanie, ale odpowiedź na wspomniany problem:

Wygląda na to, że masz zły plik konfiguracyjny dla używanej wersji angular-cli.

W pliku angular-cli.json spróbuj zmienić następujące elementy:

z:

  "environmentSource": "environments/environment.ts",
  "environments": {
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
  }

do:

  "environments": {
    "source": "environments/environment.ts",
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
  }
Gal Tamir
źródło
0

Zawsze używam następujących poleceń przed aktualizacją do najnowszej. Jeśli dotyczy prefiksu Ubuntu: „sudo”

npm uninstall -g angular-cli
npm cache clean
npm install -g angular-cli@latest
Yashwanth Chowdary Kata
źródło
0
 $ npm uninstall -g angular-cli 
 $ npm cache clean 
 $ npm install -g angular-cli
Lekens
źródło
0

Uruchom to polecenie

npm uninstall angular-cli
Julian Bici
źródło
-2

Najprostszym rozwiązaniem pozwalającym kontynuować pracę w projekcie jest wiersz komentarza 25 w node_modules / angular-cli / bin / ng :

// Version.assertPostWebpackVersion();

Dopóki nie zostanie prawidłowo naprawiony.

Vadym
źródło
1
użycie npm uninstall -g angular-clI jest lepszą opcją.
Praveen Rana