Per rispondere a una delle domande, è necessario disporre di un'installazione globale e locale affinché gli strumenti funzionino.
Se si tenta di eseguire ng serve
un'applicazione senza l'installazione locale della CLI (solo installazione globale), verrà visualizzato il seguente errore.
È necessario essere all'interno di un progetto CLI angolare per utilizzare il comando serve.
Stampa anche questo messaggio:
Please take the following steps to avoid issues:
"npm install --save-dev @angular/cli@latest"
Esegui quel npm
comando per aggiornare la CLI localmente ed evita l'avviso che stai ricevendo.
Altra domanda: sembra che non debbano essere sincronizzati, ma è probabilmente meglio che siano al fine di evitare comportamenti insoliti con lo strumento o eventuali incoerenze con il codice generato dallo strumento.
Perché abbiamo bisogno sia dell'installazione globale sia di un'installazione locale?
L'installazione globale è necessaria per avviare una nuova applicazione. Il ng new <app-name>
comando viene eseguito utilizzando l'installazione globale della CLI. In effetti, se si tenta di eseguire ng new
mentre si è all'interno della struttura di cartelle di un'applicazione CLI esistente, si ottiene questo adorabile errore:
Non è possibile utilizzare il new
comando all'interno di un progetto CLI angolare.
Altri comandi che possono essere eseguiti dal globale installazione sono ng help
, ng get/set
con l' --global
opzione ng version
, ng doc
e ng completion
.
L'installazione locale della CLI viene utilizzata dopo la creazione di un'applicazione. In questo modo, quando sono disponibili nuove versioni della CLI, è possibile aggiornare l'installazione globale e non influire sull'installazione locale. Questo è buono per la stabilità di un progetto. La maggior parte dei ng
comandi ha senso solo con la versione locale, come lint
, build
e serve
, ecc.
Secondo il file Leggimi di CLI GitHub , per aggiornare la CLI è necessario aggiornare il pacchetto globale e locale. Tuttavia, ho usato l'interfaccia della riga di comando in cui la versione globale e locale variano senza problemi finora. Se mai dovessi imbattermi in un errore relativo alla mancata sincronizzazione delle versioni della CLI locale e globale, lo pubblicherò qui.