Cuando ejecuto ng serve
, recibo esta advertencia acerca de que mi versión de CLI global es mayor que mi versión local. No noto ningún problema con esta advertencia, pero me preguntaba si las dos versiones deberían estar sincronizadas. Además, ¿es necesario tener una versión local si tiene una versión global?
La advertencia:
Su versión global de CLI angular (1.1.1) es mayor que su versión local (1.0.6). Se utiliza la versión local de CLI angular.
angular-cli
Rico
fuente
fuente
Respuestas:
Para responder una de las preguntas, es necesario tener una instalación global y local para que las herramientas funcionen.
Si intenta ejecutar
ng serve
una aplicación sin la instalación local de la CLI (solo instalación global), obtendrá el siguiente error.También imprimirá este mensaje:
Ejecute ese
npm
comando para actualizar la CLI localmente y evite la advertencia que está recibiendo.Otra pregunta: Parece que no tienen que 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 una instalación local?
La instalación global es necesaria para iniciar una nueva aplicación. El
ng new <app-name>
comando se ejecuta utilizando la instalación global de la CLI. De hecho, si intenta ejecutarng new
mientras está dentro de la estructura de carpetas de una aplicación CLI existente, obtendrá este error encantador:Otros comandos que se pueden ejecutar desde la instalación global son
ng help
,ng get/set
con la--global
opción de,ng version
,ng doc
, yng completion
.La instalación local de la CLI se usa después de que se haya 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 de los
ng
comandos solo tienen sentido con la versión local, comolint
,build
yserve
, etc.Según 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 las versiones global y local varían sin ningún problema hasta ahora. Si alguna vez me encuentro con un error relacionado con tener las versiones de CLI global y local fuera de sincronización, lo publicaré aquí.
fuente
Así es como resolví el problema.
Copia y ejecuta estos comandos
fuente
rm node_modules/.bin/ng
. Funcionó a la perfección.Esto funciona para mí: actualizará la versión local a la última
para verificar la versión
fuente
ng serve --open
y obtuve "Esta versión de CLI solo es compatible con Angular versión 5.0.0 o superior. Visite el siguiente enlace para encontrar instrucciones sobre cómo actualizar Angular. Angular-update-guide.firebaseapp.com "Luego, en su paquete de proyecto local:
Se estaba obteniendo el error siguiente Error: Fin inesperado de la entrada JSON Fin inesperado de la entrada JSON Los pasos anteriores ayudados desde esta publicación no se pueden actualizar angular a la versión 6
fuente
Su configuración existente se puede actualizar automáticamente ejecutando el siguiente comando:
o:
fuente
En mi caso, acabo de usar este comando en el proyecto:
fuente
Ejecute el siguiente comando:
npm install --save-dev @angular/cli@latest
Después de ejecutar el comando anterior, la consola puede mostrar el siguiente mensaje
fuente
No soy fluido en Inglés
pero si entiendo el problema, ¿es que localmente en el proyecto tiene una versión anterior de CLI que globalmente?
¿Y le gustaría utilizar este global más nuevo en lugar del local más antiguo?
Si es así, un método muy simple es suficiente para ejecutarse en el directorio del proyecto
npm link @angular/cli
más en el tema de la página: https://docs.npmjs.com/cli/link
fuente
Primero descubra la versión global angular-cli ejecutando
El código anterior mostrará qué versión son las versiones global y local angular-cli.
Si desea que el cli angular global y local sea el mismo, simplemente puede hacer
donde 1.7.4 es su versión global angular-cli
Entonces, si ejecuta
ng serve --open
su código debería ejecutarse.fuente
Solo necesita actualizar AngularCli
fuente
Actualizar CLI angular para un espacio de trabajo (local)
Nota: Asegúrese de instalar la versión global utilizando el comando con '-g' si está instalado correctamente.
Ejecute el comando Actualizar para obtener una lista de todas las dependencias necesarias para actualizar
Siguiente Ejecute el comando de actualización como se muestra a continuación para cada paquete de núcleo angular individual
Sin embargo, tuve que agregar el comando de banderas '–force' y '–allow-dirty' adicionalmente para solucionar todos los demás problemas pendientes.
fuente
Esto debería resolver el problema:
fuente
Solo haz estas cosas
fuente
npm install --save-dev @ angular-devkit / build-angular - ayudó a ng update @ angular / cli -> creó angular.json y otras actualizaciones.
Recopilando dependencias instaladas ... Encontradas 58 dependencias.
fuente
Elimine el angular actual e instale la versión específica.
Mira esta versión
ng --version
si no es necesario, desinstale la versión
Desinstalación de npm -g @ angular / cli
si npm vesrion <5.x
npm cache clean
Verificar el caché
npm cache verificar
Instalar versión específica
npm install -g @ angular / cli @ major.minor.patch
fuente