Niedawno zacząłem samouczek Angular 2 na https://angular.io/docs/ts/latest/tutorial/ .
i skończyłem z Angular 2 beta 8. Teraz wznowiłem samouczek, a najnowszą wersją beta jest beta 14.
Jeśli po prostu zrobię aktualizację npm, kilka modułów (wstępnie załadowanych z tutorialem) zostanie zaktualizowanych, ale nie Angular2 (widzę to z npm ls ).
Jeśli zrobię npm update angular 2 lub npm update [email protected] to też nic nie robi.
npm install [email protected] --save
powinienem to zrobić, myślę.Odpowiedzi:
Polecenie
npm update -D && npm update -S
zaktualizuje wszystkie zawarte w nich pakietypackage.json
do najnowszej wersji, zgodnie z określonym zakresem wersji . Więcej na ten temat przeczytasz tutaj .Jeśli chcesz zaktualizować Angular z wersji wcześniejszej
2.0.0-rc.1
, musisz ręcznie edytowaćpackage.json
, ponieważ Angular został podzielony na kilka modułów npm. Bez tego, jak wskazuje pakiet angular22.0.0-beta.21
, nigdy nie będziesz mógł używać najnowszej wersji Angular.Listę niektórych z najpopularniejszych modułów, których będziesz potrzebować, aby rozpocząć, można znaleźć w repozytorium szybkiego startu .
Uwagi:
Fajnym sposobem, aby być na bieżąco z najnowszą wersją swoich pakietów, jest użycie,
npm outdated
które pokazuje wszystkie nieaktualne pakiety wraz z ich pożądaną i najnowszą wersją.Powodem, dla którego musimy połączyć w łańcuch dwa polecenia
npm update -D
inpm update -S
jest przezwyciężyć ten błąd, dopóki nie zostanie naprawiony.źródło
npm update
, które w międzyczasie zostały naprawione. Fajnym sposobem sprawdzenia, czynpm update --save
zadziałał, jest sprawdzenie, czynpm outdated
nic nie wyświetla.Kolejnym fajnym pakietem, którego użyłem do migracji z wersji beta Angular2 do
Angular2 2.0.0 final
jestnpm-check-updates
Pokazuje najnowszą dostępną wersję wszystkich pakietów określonych w pliku package.json. W przeciwieństwie do
npm outdated
tego jest również w stanie edytować plik package.json, umożliwiając zrobienie tegonpm upgrade
później.zainstalować
sudo npm install -g npm-check-updates
Stosowanie
ncu
do wyświetleniancu -u
za ponowne napisanie pliku package.jsonźródło
Zaktualizuj do najnowszej wersji Angular 5
Pakiety Angular Dep:
npm install @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router}@latest --save
Inne pakiety instalowane przez angular cli
npm install --save core-js@latest rxjs@latest zone.js@latest
Pakiety Angular Dev:
npm install --save-dev @angular/{compiler-cli,cli,language-service}@latest
Pakiety deweloperskie typów:
npm install --save-dev @types/{jasmine,jasminewd2,node}@latest
Inne pakiety, które są instalowane jako dev dev przez angular cli:
npm install --save-dev codelyzer@latest jasmine-core@latest jasmine-spec-reporter@latest karma@latest karma-chrome-launcher@latest karma-cli@latest karma-coverage-istanbul-reporter@latest karma-jasmine@latest karma-jasmine-html-reporter@latest protractor@latest ts-node@latest tslint@latest
Zainstaluj najnowszą obsługiwaną wersję używaną przez Angular cli (nie rób @latest):
npm install --save-dev [email protected]
Zmień nazwę pliku angular-cli.json na .angular-cli.json i zaktualizuj zawartość:
źródło
rxjs@latest
aktualizacja do6.0.0
której jest obecnie niezgodna z ostatnią wersją Angulara (5.2.1
). Musiałem cofnąć ręcznie i było dobrze.AKTUALIZACJA:
Począwszy od CLI v6 , możesz po prostu uruchomić
ng update
, aby automatycznie zaktualizować swoje zależności do nowej wersji.Zapoznaj się również z tym przewodnikiem Aktualizowanie projektów Angular
Tylko dla użytkowników basha
Jeśli jesteś włączony, jesteś włączony
Mac/Linux
lub uruchamiasz bash włączonyWindows
(to nie zadziała domyślnieWindows CMD
), możesz uruchomić ten oneliner:npm install @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router,compiler-cli}@4.4.5 --save
yarn add @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router,compiler-cli}@4.4.5
@angular
wersję w swoim projekcie, uruchom:npm ls @angular/compiler
lubyarn list @angular/compiler
@angular
wersję dostępną na npm run:npm show @angular/compiler version
źródło
Oficjalna strona npm sugeruje ustrukturyzowaną metodę aktualizacji wersji kątowej zarówno dla scenariuszy globalnych, jak i lokalnych.
1. Przede wszystkim musisz odinstalować aktualny kąt z systemu.
2. Wyczyść pamięć podręczną
EDYTOWAĆ
Jak wskazał @candidj
npm cache clean
jest zmieniana nanpm cache verify
npm 53. Zainstaluj kątowe globalnie
4. Konfiguracja projektu lokalnego, jeśli taki posiadasz
Sprawdź to samo w poniższym linku:
https://www.npmjs.com/package/@angular/cli#updating-angular-cli
To rozwiąże problem.
źródło
npm cache clean
jest teraz zmieniony na 'npm cache verify` odnpm 5
Alternatywne podejście z użyciem npm-upgrade :
npm i -g npm-upgrade
Przejdź do folderu swojego projektu
npm-upgrade check
Zostaniesz zapytany, czy chcesz zaktualizować pakiet, wybierz Tak
To proste
źródło
Jeśli chcesz zainstalować / zaktualizować wszystkie pakiety do najnowszej wersji i korzystasz z systemu Windows, możesz użyć tego w
powershell.exe
:Jeśli używasz również
cli
, możesz to zrobić:To zapisze pakiety dokładnie (-E), a pakiety cli w
devDependencies
(-D)źródło
TypeScript
wtedy, ponieważ najnowszy ng5 wymaga wyższej wersji ts :)Po prostu zacznij tutaj:
https://update.angular.io
Wybierz wersję, której używasz, a otrzymasz przewodnik krok po kroku.
Zalecam wybranie opcji „Zaawansowane”, aby zobaczyć wszystkie kroki. Złożoność jest pojęciem względnym - i nie wiem, czyj głupim pomysłem była ta funkcja, ale jeśli wybierzesz „Podstawowy”, nie pokaże wszystkich potrzebnych kroków i możesz przegapić coś ważnego, z którego w przeciwnym razie korzysta Twoja aplikacja „Podstawowa” .
Od wersji 6 pojawiło się nowe polecenie Angular CLI,
ng update
które inteligentnie sprawdza zależności i sprawdza, czy aktualizujesz właściwe rzeczy :-)W krokach opisano, jak go używać :-)
źródło
NgUpgrade
zng update
.NgUpgrade
dotyczy aktualizacji AngularJS do Angularnode_modules
i uruchomićnpm install
ostatnie 3 aktualizacje - nawet 6.0 -> 6.1. Nie mam pojęcia, dlaczego, ale jeśli otrzymujesz wiele dziwnych błędów podczas prostej aktualizacji, daj mu szansę.źródło
Najlepszym sposobem jest użycie rozszerzenia (pflannery.vscode-versionlens) w vscode.
to sprawdza, czy wszystkie spełniają wymagania i sprawdzają najlepsze dopasowanie.
Miałem wiele problemów z aktualizacją i utrzymaniem jednostki funkcjonalnej mojej aplikacji, niech pozwolę, aby obiektyw pełny sprawdził, a potem uruchomię
aby zainstalować nowo sugerowane zależności.
źródło
Jeśli wyglądasz tak jak ja, jeśli chodzi o aktualizację twojego projektu do najnowszego, oto co działa we mnie od Angular 6:
źródło