Recibo el siguiente error cuando intento ejecutar el comando
ng update @angular/cli @angular/core --allow-dirty
Repository is not clean. Update changes will be mixed with pre-existing changes. Using package manager: 'npm' Collecting installed dependencies... Found 28 dependencies. Package '@angular/cli' is not a dependency.Me encontré con este mismo problema/mensaje de error porque había cambiado de ramas que eran drásticamente diferentes y aún no había ejecutado npm install en la rama para instalar la versión actual, que en ese momento era Angular 7. Después de completarlo, ejecuté lo siguiente nuevamente para instalar la última versión; Angular 8:
ng update @angular/cli @angular/core
Esta vez el error no apareció y la actualización fue un éxito. Parece que el proceso de actualización está buscando archivos válidos para saber de qué versión se está actualizando, y si falta una carpeta node_modules o está vacía, Angular no puede decir qué se está actualizando exactamente y arrojará este error. Tiene sentido porque la CLI se comporta de manera diferente según la versión anterior que se actualice y cuántas versiones se actualicen, por lo que si no tiene nada que leer para la actualización, no puede continuar.
En mi caso faltaba la carpeta node_modules . Asegúrese de ejecutar npm i antes de actualizar.
Tengo esto funcionando después de una bomba debido a que se requiere una --force .
La ng update había llegado tan lejos y había eliminado node_modules .
Tuve que reset branch y npm ci primero antes de ejecutar con ng update con --force .
Suponiendo que está actualizando de Angular 8.0 a Angular 9.0, siga los siguientes pasos:
1. rm -rf node_modules package-lock.json 2. npm install @angular-devkit/schematics@8 3. ng update @angular/core@8 @angular/cli@8 4. ng update @angular/core@9 @angular/cli@9En caso de que enfrente alguna advertencia de dependencia de pares al ejecutar los comandos anteriores, ejecute npm desinstale el nombre_del_paquete_afectado y luego ejecute los pasos a continuación:
1. npm i 2. ng update @angular/core@8 @angular/cli@8 3. ng update @angular/core@9 @angular/cli@9 4. npm i compatible_affected_package_namePuede ejecutar npm uninstall @angular-devkit/schematics después de una actualización exitosa.
Nota : Siempre siga la Guía de actualización de Angular . Puede intercambiar las versiones angular actual y de destino según su situación. Antes de pasar a versiones superiores, asegúrese de que todas sus dependencias puedan funcionar en su versión de destino.