Po przeczytaniu kilku problemów zgłoszonych w repozytorium GitHub znalazłem rozwiązanie.
Aby zaktualizować pakiet angular-cli zainstalowany globalnie w systemie, musisz uruchomić:
npm uninstall -g @angular-cli
npm install -g @angular/cli@latest
W zależności od systemu może być konieczne poprzedzenie powyższych poleceń przedrostkiem sudo
.
Najprawdopodobniej chcesz również zaktualizować lokalną wersję projektu, ponieważ w katalogu Twojego projektu zostanie wybrana z wyższym priorytetem niż globalny:
rm -rf node_modules
npm uninstall --save-dev @angular-cli
npm install --save-dev @angular/cli@latest
npm install
dzięki grizzm0 za wskazanie tego w GitHub .
Po zaktualizowaniu CLI prawdopodobnie zechcesz zaktualizować również wersję Angular .
Uwaga : jeśli aktualizujesz do Angular CLI 6+ ze starszej wersji, może być konieczne przeczytanie tego .
Edycja : Ponadto, jeśli nadal korzystasz z wersji cli 1.x, musisz przekonwertować ją angular-cli.json
na angular.json
, co możesz zrobić za pomocą następującego polecenia:
ng update @angular/cli --from=1.7.4 --migrate-only
(sprawdź to, aby uzyskać więcej informacji).
--force
flaging6 + -> 7,0
Zaktualizuj RxJS (w zależności od RxJS 6.3)
Usunąć
rxjs-compat
Następnie zaktualizuj podstawowe pakiety i Cli:
(Opcjonalnie: zaktualizuj Node.js do wersji 10, która jest obsługiwana w NG7)
ng6 + (Cli 6.0+) : zawiera uproszczone polecenia
Najpierw zaktualizuj Cli
Następnie zaktualizuj podstawowe pakiety
Jeśli używasz RxJS, uruchom
Zaktualizuje RxJS do wersji 6 i zainstaluje
rxjs-compat
pakiet pod maską.Jeśli napotkasz błędy kompilacji, spróbuj ręcznie zainstalować:
Na koniec sprawdź swoją wersję
Uwaga dotycząca wersji produkcyjnej:
ng6 nie używa już
intl
wpolyfills.ts
ng5 + (Cli 1.5+)
Uwaga:
Po zaktualizowaniu zarówno pakietu globalnego, jak i lokalnego, wyczyść pamięć podręczną, aby uniknąć błędów:
Oto oficjalne odniesienia:
źródło
npm cache clean --force
Naprawdę mi pomogłomożesz po prostu użyć
npm install -g angular-cli
- jeśli to twój pierwszy raznpm install -g @angular/cli@latest
- jeśli masz już zainstalowany, więc do aktualizacjiźródło
Potężne polecenie instaluje i zastępuje ostatni pakiet.
Miałem podobny problem. Naprawiłem to.
i
źródło
To polecenie działa dobrze:
źródło
U mnie zadziałało następujące podejście:
następnie
następnie
Pracuję na Windows 10, czasami musiałem używać:
npm cache clean --force
też. Nie musisz tego robić, jeśli nie masz żadnego problemu podczas instalacji.źródło
@latest
, ponieważ wartość domyślna to najnowszy.Jeśli masz jakiekolwiek trudności z zarządzaniem wersją globalnego CLI , lepiej jest użyć NVM: MAC , Windows .
Aby zaktualizować lokalny CLI w projekcie Angular, wykonaj następujące kroki:
Począwszy od CLI v6 , możesz po prostu uruchomić
ng update
, aby automatycznie zaktualizować zależności do nowej wersji.Z
ng update
czasem możesz dodać--force
flagę.Możesz także przekazać
--all
flagę, aby zaktualizować wszystkie pakiety w tym samym czasie.Jeśli chcesz tylko migrować CLI, po prostu uruchom to:
Możesz również przekazać flagę
--from=from
- wersję z której chcesz migrować np--from=1.7.4
. Ta flaga jest dostępna tylko w przypadku aktualizowania jednego pakietu i tylko podczas migracji.Zapoznaj się również z tym przewodnikiem Aktualizowanie projektów Angular i update.angular.io
STARA ODPOWIEDŹ:
Wszystko, co musisz zrobić, to porównać z angular-cli-diff i zastosować zmiany w bieżącym projekcie.
Oto kroki:
File changed
kartęnpm install
/yarn
npm scripts
( więcej szczegółów tutaj: https://stackoverflow.com/a/45431592/415078 )źródło
Oprócz odpowiedzi @ShinDarth .
Zrobiłem to, co powiedział, ale mój pakiet nie zaktualizował wersji kątowej i wiem, że ten post jest o
angular-cli
, ale myślę, że to też może pomóc.-ng new projectname
wygenerowanym pakietem.-npm install
.Teraz
ng serve
znowu działa, może jest lepszy sposób na zrobienie tego wszystkiego, jeśli ktoś wie, proszę o podzielenie się, ponieważ jest to uciążliwe w przypadku wszystkich projektów, które wymagają aktualizacji.źródło
Aby zaktualizować interfejs wiersza polecenia Angular do nowej wersji, należy zaktualizować zarówno pakiet globalny, jak i pakiet lokalny projektu.
Pakiet globalny:
Pakiet projektu lokalnego:
Źródło: Github
źródło
W moim przypadku zainstalowałem lokalnie angular-cli przy użyciu npm install --save-dev angular-cli. Tak więc, kiedy używam polecenia npm install -g @ angular / cli, generuje błąd informujący, że „Twoja globalna wersja Angular CLI (1.7.3) jest większa niż Twoja lokalna wersja (1.4.9)” . Należy pamiętać, że angular-cli, @ angular / cli i @ angular / cli @ latest to dwie różne klasy CLI. Rozwiązaniem tego problemu jest odinstalowanie całego CLI, a następnie zainstalowanie najnowszego kątowego CLI przy użyciu npm install -g @ angular / cli @ latest
źródło