Podczas działania ng serve
pojawia się ostrzeżenie o tym, że moja globalna wersja CLI jest większa niż moja wersja lokalna. Nie widzę żadnych problemów z tym ostrzeżeniem, ale zastanawiałem się, czy te dwie wersje powinny być zsynchronizowane? Ponadto, czy musisz mieć wersję lokalną, jeśli masz wersję globalną?
Ostrzeżenie:
Twoja globalna wersja Angular CLI (1.1.1) jest większa niż wersja lokalna (1.0.6). Używana jest lokalna wersja Angular CLI.
angular-cli
Bogaty
źródło
źródło
Odpowiedzi:
Aby odpowiedzieć na jedno z pytań, konieczna jest globalna i lokalna instalacja narzędzi.
Jeśli spróbujesz uruchomić
ng serve
aplikację bez lokalnej instalacji CLI (tylko instalacja globalna), pojawi się następujący błąd.Wydrukuje również tę wiadomość:
Uruchom to
npm
polecenie, aby zaktualizować CLI lokalnie i unikaj ostrzeżeń.Inne pytanie: wygląda na to, że nie muszą być zsynchronizowane, ale prawdopodobnie najlepiej, aby były w celu uniknięcia jakichkolwiek nietypowych zachowań w narzędziu lub jakichkolwiek niezgodności z kodem generowanym przez narzędzie.
Dlaczego potrzebujemy zarówno instalacji globalnej, jak i instalacji lokalnej?
Instalacja globalna jest potrzebna do uruchomienia nowej aplikacji.
ng new <app-name>
Polecenie jest uruchamiane za pomocą globalnej instalację CLI. W rzeczywistości, jeśli spróbujesz uruchomićng new
w strukturze folderów istniejącej aplikacji CLI, pojawi się ten piękny błąd:Inne polecenia, które mogą być uruchamiane z globalnym zainstalować są
ng help
,ng get/set
z--global
opcją,ng version
,ng doc
, ing completion
.Lokalna instalacja interfejsu CLI jest używana po skompilowaniu aplikacji. W ten sposób, gdy dostępne będą nowe wersje interfejsu CLI, możesz zaktualizować swoją instalację globalną i nie wpływać na instalację lokalną. Jest to dobre dla stabilności projektu. Większość
ng
poleceń sens tylko z lokalnej wersji, jaklint
,build
iserve
, etc.Zgodnie z plikiem Readme GitHub interfejsu CLI , aby zaktualizować interfejs CLI, należy zaktualizować pakiet globalny i lokalny. Korzystałem jednak z interfejsu CLI, w którym wersja globalna i lokalna różnią się do tej pory bez żadnych problemów. Jeśli kiedykolwiek napotkam błąd związany z brakiem synchronizacji globalnej i lokalnej wersji interfejsu CLI, opublikuję to tutaj.
źródło
W ten sposób rozwiązałem problem.
Skopiuj i uruchom te polecenia
źródło
rm node_modules/.bin/ng
. Działał idealnie.To działa dla mnie: zaktualizuje wersję lokalną do najnowszej
zweryfikować wersję
źródło
ng serve --open
i dostałem „Ta wersja CLI jest kompatybilna tylko z wersją Angular 5.0.0 lub wyższą. Odwiedź poniższy link, aby znaleźć instrukcje dotyczące aktualizacji Angular. Angular-update-guide.firebaseapp.com ”Następnie w pakiecie projektu lokalnego:
Występował błąd Błąd: Nieoczekiwany koniec wejścia JSON Nieoczekiwany koniec wejścia JSON Powyższe kroki pomogły w tym wpisie Nie można zaktualizować kątowej do wersji 6
źródło
Istniejącą konfigurację można zaktualizować automatycznie, uruchamiając następujące polecenie:
lub:
źródło
W moim przypadku użyłem tego polecenia do projektu:
źródło
Uruchom następujące polecenie:
npm install --save-dev @angular/cli@latest
Po uruchomieniu powyższego polecenia konsola może wyskoczyć poniższy komunikat
źródło
Nie mówię biegle po angielsku
ale jeśli rozumiem problem, to czy lokalnie w projekcie masz starszą wersję interfejsu CLI niż globalnie?
Czy chciałbyś użyć tego globalnego nowszego zamiast lokalnego starszego?
Jeśli tak, wystarczy bardzo prosta metoda do uruchomienia w katalogu projektu
npm link @angular/cli
więcej w temacie na stronie: https://docs.npmjs.com/cli/link
źródło
Najpierw sprawdź globalną wersję angular-cli, uruchamiając
Powyższy kod pokazuje, która wersja jest globalną i lokalną wersją angli-cli.
Jeśli chcesz, aby globalny i lokalny kątowy cli był taki sam, możesz to zrobić
gdzie 1.7.4 jest Twoją globalną wersją angli-cli
Jeśli uruchomisz,
ng serve --open
twój kod powinien się uruchomić.źródło
Musisz tylko zaktualizować AngularCli
źródło
Zaktualizuj Angular CLI dla obszaru roboczego (lokalny)
Uwaga: Upewnij się, że zainstalujesz wersję globalną za pomocą polecenia z „-g”, jeśli zostało poprawnie zainstalowane.
Uruchom polecenie Aktualizuj, aby uzyskać listę wszystkich zależności wymaganych do aktualizacji
Następnie uruchom polecenie aktualizacji jak poniżej dla każdego pakietu podstawowego Angular
Musiałem jednak dodać dodatkowo polecenia „–force” i „–allow-dirty”, aby naprawić wszystkie pozostałe problemy.
źródło
to powinno rozwiązać problem:
źródło
Po prostu rób te rzeczy
źródło
npm install --save-dev @ angular-devkit / build-angular - pomógł zaktualizować @ angular / cli -> stworzył angular.json i inne aktualizacje.
Zbieranie zainstalowanych zależności ... Znaleziono 58 zależności.
źródło
Usuń bieżący kąt i zainstaluj konkretną wersję.
Sprawdź wersję
ng --version
jeśli nie jest to wymagane, odinstaluj wersję
npm odinstaluj -g @ angular / cli
jeśli npm vesrion <5.x
czyszczenie pamięci podręcznej npm
Sprawdź pamięć podręczną
weryfikacja pamięci podręcznej npm
Zainstaluj konkretną wersję
npm install -g @ angular / cli @ major.minor.patch
źródło