Aby odpowiedzieć na jedno z pytań, konieczna jest globalna i lokalna instalacja narzędzi.
Jeśli spróbujesz uruchomić ng serveaplikację bez lokalnej instalacji CLI (tylko instalacja globalna), pojawi się następujący błąd.
Musisz być w projekcie Angular CLI, aby użyć polecenia serv.
Wydrukuje również tę wiadomość:
Please take the following steps to avoid issues:
"npm install --save-dev @angular/cli@latest"
Uruchom to npmpolecenie, 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 neww strukturze folderów istniejącej aplikacji CLI, pojawi się ten piękny błąd:
Nie można użyć newpolecenia w projekcie Angular CLI.
Inne polecenia, które mogą być uruchamiane z globalnym zainstalować są ng help, ng get/setz --globalopcją, ng version, ng doc, i ng 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ść ngpoleceń sens tylko z lokalnej wersji, jak lint, buildi serve, 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.