Solución:
Para responder a una de las preguntas, es necesario tener una instalación tanto global como local para que las herramientas funcionen.
Si intentas correr ng serve
en una aplicación sin la instalación local de la CLI (solo instalación global), obtendrá el siguiente error.
Debe estar dentro de un proyecto CLI de Angular para poder usar el comando de servicio.
También imprimirá este mensaje:
Please take the following steps to avoid issues:
"npm install --save-dev @angular/[email protected]"
Ejecutar eso npm
comando para actualizar la CLI localmente y evitar la advertencia que está recibiendo.
Otra pregunta: parece que no tengo para estar sincronizados, pero probablemente sea mejor que lo estén para evitar cualquier comportamiento inusual con la herramienta, o cualquier inconsistencia con el código que genera la herramienta.
¿Por qué necesitamos tanto la instalación global como la instalación local?
La instalación global es necesaria para iniciar una nueva aplicación. los ng new <app-name>
El comando se ejecuta mediante la instalación global de la CLI. De hecho, si intentas correr ng new
mientras está dentro de la estructura de carpetas de una aplicación CLI existente, obtiene este hermoso error:
No puedes usar el
new
comando dentro de un proyecto CLI de Angular.
Otros comandos que se pueden ejecutar desde la instalación global son ng help
, ng get/set
con el --global
opción, ng version
, ng doc
, y ng completion
.
La instalación local de la CLI se utiliza después de que se ha creado una aplicación. De esta manera, cuando hay nuevas versiones de la CLI disponibles, puede actualizar su instalación global y no afectar la instalación local. Esto es bueno para la estabilidad de un proyecto. La mayoría ng
Los comandos solo tienen sentido con la versión local, como lint
, build
y serve
etc.
De acuerdo con el archivo Léame de CLI GitHub, para actualizar la CLI debe actualizar el paquete global y local. Sin embargo, he usado la CLI donde la versión global y local varían sin ningún problema hasta ahora. Si alguna vez me encuentro con un error relacionado con la falta de sincronización de las versiones CLI global y local, lo publicaré aquí.
Así es como resolví el problema.
Copie y ejecute estos comandos
ng --version
npm install --save-dev @angular/[email protected]
ng --version
Esto funciona para mí: actualizará la versión local a la última
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/[email protected]
npm install
para verificar la versión
ng --version