La compilación de la aplicación después de haber actualizado las dependencias a Angular 9 (y haber realizado los cambios de código necesarios) arroja un error:
Compilando @angular/animations: es2015 como esm2015 Compilando @angular/animations: es2015 como esm2015 Compilando @angular/core: es2015 como esm2015 Compilando @angular/core: es2015 como esm2015
Compilando @angular/core: es2015 como esm2015
Error : error en el trabajador n. ° 5: TypeError: no se puede leer la propiedad 'fileName' de nulo
Luego pasa a arrojar el siguiente error:
Compilando @angular/core: es2015 como esm2015 Compilando @angular/compiler/testing: es2015 como esm2015 Compilando @angular/core: es2015 como esm2015
Error : se intentó escribir node_modules/@angular/core/core.d.ts.__ivy_ngcc_bak con un archivo de copia de seguridad ngcc, pero ya existe, por lo que no se escribe ni se realiza la copia de seguridad de node_modules/@angular/core/core.d.ts.
Este error puede deberse a que dos o más puntos de entrada se superponen y se le ha pedido a ngcc que procese algunos archivos más de una vez.
Debe verificar otros puntos de entrada en este paquete y configurar una configuración para ignorar cualquiera que no esté usando.
Compilando @angular/core: es2015 como esm2015 Se produjo una excepción no controlada: NGCC falló.
Obtuve este y otros errores porque traté de actualizar algunas bibliotecas marginales de la aplicación Angular 9. Los errores que aparecieron posteriormente durante la compilación no tenían sentido en el sentido de que no ayudaron a corregir el error.
La solución al eliminar "node_modules" y "npm i" no funciona, porque aunque tengo el paquete original.json, "npm i" todavía instala diferentes versiones de las bibliotecas, no las originales. No se sabe exactamente qué eran las bibliotecas en node_modules originalmente.
La única solución que ayudó es restaurar node_modules desde la copia de seguridad .
De lo contrario, si necesita actualizar las bibliotecas en la aplicación, tómese unas vacaciones y prepare algunos antidepresivos, pero es posible que en cuestión de días no ayude a resolver errores sin sentido después de actualizar las bibliotecas.
En mi caso, el problema fue que mi servidor no tenía suficiente RAM (1 GB), lo que parece insuficiente para procesar una compilación. Después de aumentar a 2 GB, el problema se resolvió.
Espero que esto pueda ayudar a alguien.
Para quienes usan vscode 1.62 o posterior. Ninguna de esas respuestas me ayudó. Actualicé vscode ayer (11/10/2021) y, por alguna razón, mi proyecto Angular 9 comienza a mostrar "NGCC falló". Bajé vscode a 1.61.2 y todo volvió a la normalidad.
Intente eliminar angular-font-awesome y ejecute la instalación nuevamente:
npm desinstalar angular-font-awesome ng agregar @fortawesome/angular-fontawesome@0.6.0
el problema se resolvió después de que eliminé fontawesome y ahora Material Icons es mi elección para los íconos. pero debo decir gracias por Font Awesome por muchos años de increíbles íconos gratis :)
"prettier": "2.2.1", elimina esto ya que es una interfaz con symantics.
Bueno, en mi caso, estaba tratando de ejecutar un proyecto angular de una versión anterior con una versión más nueva de node. Hice esto:
Elimina todos los módulos de nódulos existentes.
rm -rf node_modules
actualizar el nodo js a la última
npm update npm install
actualiza la versión del proyecto angular a la última
ng update @angular/core
actualiza el proyecto cli a la última
ng update @angular/cli
Ahora inicia el proyecto
ng-serve
En mi caso, instalé el paquete angular-font-awesome de npm y luego arranqué, podría entrar en conflicto, solo eliminé angular-font-awesome previamente instalado y luego hice ng build
Reemplace tsconfig.json por debajo del contenido json
{ "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration": false, "module": "esnext", "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, "noUnusedLocals": true, "noUnusedParameters": true, "target": "es2015", "typeRoots": [ "node_modules/@types" ], "lib": [ "es2018", "dom" ] }, "angularCompilerOptions": { "fullTemplateTypeCheck": true, "strictInjectionParameters": true } }
No existe una situación en la que deshabilitar IVY sea la mejor solución.
Para usuarios de Windows:
npm i rimraf -g rimraf node_modules npm i
en mi caso, agregar enableIvy: false
no resolvió el problema, que era con la Extensión de servicio de lenguaje angular para vsCode (parece que en realidad no tiene en cuenta el parámetro).
La solución ha sido degradar la versión de la extensión. (v12.0.0 --> v11.2.14 ver aquí para saber cómo )
Para mí, resultó que habíamos usado el control de versiones del paquete package-lock.json durante un tiempo, y cuando traté de eliminarlo debido a conflictos de fusión y lo volví a crear, ocurrió el error. Al volver al antiguo paquete-lock.json, el problema desapareció. Entonces comencé a buscar:
Terminé en las dependencias de Angular, más exactamente en @angular/material-moment-adapter habiendo recibido una actualización (como lo permitimos en el paquete.json) de la versión 11.2.0 a la 11.2.12.
Un poco tarde en esta fiesta, pero para versiones anteriores de Angular, logré solucionar esto a través de extensiones VS.
CLI angular: 6.1.5 Nodo: 8.11.4
Estudio visual, extensión angular
Extensiones -> Servicio de lenguaje angular (v12.0.2) -> Configuración de extensión
Por lo general, aconsejo a las personas que realicen una copia de seguridad manual del proyecto después de cada implementación exitosa (localmente) porque, cuando enfrenta este tipo de problema (todo lo relacionado con los NGCC errors
), puede simplemente eliminar la carpeta node_modules
y restaurarla desde su last backup
de seguridad. y luego construir de nuevo.
A veces, cuando no puede permitirse actualizar nodeJS
a la última versión , esta solución sería perfecta.
Intente eliminar la carpeta node_modules
y vuelva a ejecutar la instalación:
rm -rf node_modules
npm install
Para mi ha solucionado el problema.
Agregar "postinstall": "ngcc"
a "scripts"
en package.json me ayudó a solucionar esto
Tuve un problema similar,
en mi caso, actualizar NodeJS a una nueva versión ayudó.
Este problema (fallo de NGCC) lo encontramos yo y mi colega desarrollador en nuestras máquinas localhost.
Sería importante señalar que las máquinas de desarrollo y producción funcionaban bien.
Para solucionar este problema hemos seguido los siguientes pasos:
Espero que esto te ayude a ti y a otras personas en situaciones como esta.
Establecer "enableIvy": false en tsconfig.json corrige ese error en particular. ¿No se supone que Ivy ya se puede usar?
Esta respuesta la encontré al ingresar la descripción del enlace aquí @clement911 respuesta y funcionó para mí después de muchas pruebas
Tuve este problema cuando ejecuté ionic build
mientras el proyecto se desarrollaba bien con mis colegas. Así que ejecutamos ng -v
para comparar nuestros paquetes. Resulta que tenía versiones superiores de @angular-devkit/build-angular
, @angular-devkit/build-optimizer
y @angular-devkit/build-webpack
, cada una de ellas era la versión 0.1001.2; nuestro proyecto se ejecutaba con 0.901. 8.
Así que ejecuté npm uninstall @angular-devkit/build-angular 0.1001.2
para desinstalarlo y npm install @angular-devkit/build-angular 0.901.8
para degradar. Al ejecutar ng -v
nuevamente, los otros 2 también se degradaron.
¡Finalmente, ionic build
fue un éxito! Vivimos felices a partir de entonces, hasta que nos encontramos con diferentes problemas. Paquetes de trabajo para nuestro proyecto
en caso de que la versión no coincida ... verifique el nodo js de la primera versión y js angular
luego escriba: npm install =>: ng serve
si tiene un problema de puerto: ng server --port 4201
En mi caso particular, @angular-devkit/build-angular se actualizó a " ^0.1001.2 " en mi paquete.json después de ejecutar la corrección de auditoría npm . (Esta versión parece pertenecer a angular 10, en lugar de la versión angular de los proyectos locales (v9.1.7))
Después de revertir este cambio, todo comenzó a funcionar nuevamente:
"@angular-devkit/build-angular": " ~0.901.6 "
Tuve que ir a mi archivo tsconfig.spec.json y agregar
"angularCompilerOptions": { "enableIvy": false }
Ya estaba en mi archivo tsconfig.json.
Usando terminal/cmd,
1er paso:
ng update @angular/cli @angular/core
2do paso:
ng update
3er paso:
ng serve
Arreglado el mio.
NOTA Es posible que se eliminen sus archivos css personalizados en la carpeta de arranque. ¡Haz una copia de seguridad antes y vuelve a colocarlos después de la actualización!
Este problema se debe a que podría estar ejecutando su aplicación en cualquier puerto y a angular ngcc se le asignó una identificación de proceso particular que se especificó y bloqueó en un archivo llamado __ngcc_lock_file__
dentro de \node_modules\@angular\compiler-cli\ngcc
. Si está apagando el sistema por completo o si su sistema operativo falla, este archivo de bloqueo estará allí en node_modules. Y una vez que encienda su máquina e intente iniciar la aplicación nuevamente, angular cli verificará este archivo de bloqueo e intentará encontrar la identificación del proceso especificada en el archivo. La mayoría de las veces faltará la identificación del proceso ya que reiniciaste completamente la máquina y arrojará este error.
Solución 1 . elimine node_modules
y haga npm install
Solución 2 . Solución inteligente: elimine el archivo de bloqueo como se muestra a continuación.
Go to `\node_modules\@angular\compiler-cli\ngcc`
busque el archivo llamado __ngcc_lock_file__
elimínelo. Hecho.
piratería feliz
npm i
ng serve
Trabajó para mi