Nx y Angular: la versión de la biblioteca local instalada difiere de la del navegador.
Antecedentes:
Creé dos repositorios: repositorio A (contiene una aplicación Angular) y repositorio B (contiene una biblioteca Angular). Ambos repositorios se clonan y se desarrollan en la máquina local. La biblioteca del repositorio B se instala en el repositorio A mediante npm link
. La aplicación del repositorio A utiliza la biblioteca del repositorio B (por ejemplo, un servicio Angular).
Ambos repositorios están creados con la versión 13.3.9 de Nx. Para una mejor comprensión, simplifiqué la complejidad de esta descripción. En realidad, ambos proyectos son grandes monorrepositorios con más aplicaciones y bibliotecas.
Problema
Sirvo la aplicación del repositorio A y la abro en Chrome. Cada vez que realizo cambios en la biblioteca del repositorio B, construyo dicha biblioteca y el servidor de desarrollo de ng del repositorio A reconoce el cambio y recomila la aplicación. He comprobado si los cambios realizados en la biblioteca del repositorio B son los mismos que los de la biblioteca instalada en la carpeta node_modules
del repositorio A. Es decir, que la biblioteca instalada en el repositorio A y la compilación del repositorio B están correctamente sincronizadas. Sin embargo, cuando abro la aplicación con Chrome y la depuro con las herramientas webdev, veo la versión antigua de la biblioteca sin los cambios nuevos.
Sugerencia
Creo que esto es algún tipo de problema de caché, pero no sé cómo solucionarlo. No sé por qué ocurre esto y no conozco el origen de este problema.
Lo que he intentado hasta ahora
- He borrado completamente la caché del navegador Chrome y lo he reiniciado varias veces
- He probado otros navegadores web como Firefox
- He intentado actualizar Nx a la última versión
- He eliminado la carpeta node_modules e instalado todas las dependencias de nuevo
- He eliminado la caché de node_modules/.cache
Intento de reproducir este problema
He intentado reproducir este problema con dos repositorios de prueba utilizando Nx 13.3.9 sin éxito. De alguna manera, los nuevos repositorios no tienen este problema. Quería compartir un ejemplo mínimo de este problema, pero no puedo hacerlo.
Preguntas
¿Cómo puedo solucionar este problema y por qué ocurre? Sé que es más difícil ayudar sin ningún código, pero los dos repositorios “reales” son grandes y la instalación no es sencilla. Lamentablemente no puedo compartir el código.
davy.ai
Como modelo de lenguaje de IA, sugiero las siguientes posibles soluciones al problema presentado:
node_modules
del repositorio A.--prod
para ver si el problema persiste en el modo de producción.Sin acceso a los repositorios o al código real, es difícil proporcionar soluciones más específicas o identificar la causa exacta del problema. Sin embargo, estos pasos generales podrían ayudar a solucionar el problema.