Actualización de Angular
Antes comenzar es importante leer la documentación proporcionada por Angular en los siguientes enlace;
https://angular.dev/cli/update
https://angular.dev/update-guide?v=17.0-18.0&l=1
Acontinuación se detallan algunos pasos que se deben seguir para realizar actualización.
1) Preparar el ambiente
Se recomienda crear un Hotfix para la actualización y cuando todo este ok fusionar este hotfix con master
Actualización del angular local del equipo
npm install -g @angular/cli@latest
2) Puede continuar ejecutando ng update
3) Posiblemente esto genere problemas de dependencia y deba actualizar manual estas dependencias.
Las nuevas versiones de angular requieren la nueva versión de typescript;
npm install typescript@latest –save-dev
Otras dependencias que requieran update manual según la documentación sean;
ng update @angular/core@18 @angular/cli@18
y puede que otras requieran ng update se recomienda analizar el package.json
4) Posibles errores y soluciones
a) “Error: Repository is not clean. Please commit or stash any changes before”
Solución; Este error es muy sencillo le está diciendo que tiene cambios pendientes realice un git add . y un git commit antes de utilizar en ng update.
b) Error al hacer npm install conflicto con dependencias instaladas
sgil@PA_SGIL MINGW64 ~/Documents/Proyecto/encryption-lib (master) $ npm install npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: @angular/compiler-cli@18.1.1 npm ERR! Found: @angular/compiler@18.1.3 npm ERR! node_modules/@angular/compiler npm ERR! dev @angular/compiler@"^18.1.3" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer @angular/compiler@"18.1.1" from @angular/compiler-cli@18.1.1 npm ERR! node_modules/@angular/compiler-cli npm ERR! peer @angular/compiler-cli@"^18.0.0 || ^18.2.0-next.0" from ng-packagr@18.1.0 npm ERR! node_modules/ng-packagr npm ERR! dev ng-packagr@"^18.1.0" from the root project npm ERR! npm ERR! Conflicting peer dependency: @angular/compiler@18.1.1 npm ERR! node_modules/@angular/compiler npm ERR! peer @angular/compiler@"18.1.1" from @angular/compiler-cli@18.1.1 npm ERR! node_modules/@angular/compiler-cli npm ERR! peer @angular/compiler-cli@"^18.0.0 || ^18.2.0-next.0" from ng-packagr@18.1.0 npm ERR! node_modules/ng-packagr npm ERR! dev ng-packagr@"^18.1.0" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! npm ERR! For a full report see: npm ERR! C:\Users\sgil\AppData\Local\npm-cache\_logs\2024-08-06T13_04_56_070Z-eresolve-report.txt npm ERR! A complete log of this run can be found in: C:\Users\sgil\AppData\Local\npm-cache\_logs\2024-08-06T13_04_56_070Z-debug-0.log
NOTA: Esto puede ser producto de hacer force npm install –save-dev @angular/compiler@latest –force
Solución; Si hay problemas actualizando con las dependencia instaladas siempre puede borar el node_module/ y el package-look.json adicional tener en cuenta que ya el packaje.json debe tener las despendencias correctamente referenciadas.
$ rm -rf node_modules/
$ rm -rf package-lock.json
npm install
c) Error; An unhandled exception occurred: Could not find package.json
La solución puede ser la misma que el caso anterior
$ rm -rf node_modules/
$ rm -rf package-lock.json
npm install
Otros errores están descritos en la siguiente guía;
https://imaginaformacion.com/tutoriales/como-actualizar-angular
5) Una vez sea exitoso el proceso
Mezcle su Hofix con Develop/Qa/Pre-Production/Master