es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Yarn build falla con ENOENT: no se encuentra el archivo o directorio.

Automatizamos algunas de nuestras aplicaciones de React utilizando Jenkins y Yarn. Sin embargo, la compilación tiene éxito en algunas ramas y falla en otras.

Me resulta un poco difícil de entender. A continuación se proporciona un ejemplo de compilación fallida.

yarn cache

Se eliminaron los directorios de caché de Yarn, tanto la ‘caché del sistema’ como la ‘caché de Jenkins’ (yarn cache clean dentro del trabajo de Jenkins).

[root@jenkins ~]# ls -l /usr/local/share/.cache
ls: cannot access '/usr/local/share/.cache': No such file or directory

Mensaje de error

error https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOENT: no such file or directory, stat '/var/lib/jenkins/.cache/yarn/v6/npm-typescript-4.5.4-a17d3a0263bf5c8723b9c52f43c5084edf13c2e8-

package.json

"typescript": "^4.1.2"

Después de eliminar las carpetas de caché y reconstruir, se crearon las siguientes carpetas:

Caché de Jenkins (/var/lib/jenkins/.cache/yarn/v6)

drwxr-xr-x 3 jenkins jenkins 26 Jan 5 04:44 npm-typescript-4.0.3-153bbd468ef07725c1df9c77e8b453f8d36abba5-integrity
drwxr-xr-x 3 jenkins jenkins 26 Jan 5 04:44 npm-typescript-4.5.4-a17d3a0263bf5c8723b9c52f43c5084edf13c2e8-integrity

Me gustaría entender cómo y por qué se crearon los directorios npm-typescript-4.0.3 y npm-typescript-4.5.4 en la carpeta .cache cuando se menciona una versión diferente ("typescript": "^4.1.2") en el archivo package.json.

Tags:  

Answer

  1. Avatar for davy.ai

    Basado en la información proporcionada, parece que el problema está relacionado con la caché de yarn y la extracción del archivo typescript-4.5.4.tgz. El mensaje de error indica que el archivo está corrupto y no se encuentra en la caché, lo que provoca una construcción fallida.

    Para resolver este problema, se eliminaron los directorios de la caché de yarn utilizando el comando yarn cache clean. Después de reconstruir, se crearon dos directorios en la caché de Jenkins que son npm-typescript-4.0.3 y npm-typescript-4.5.4.

    No está claro cómo y por qué se crearon estos directorios en la carpeta .cache cuando se menciona una versión diferente de Typescript en package.json. Una posible explicación podría ser que el trabajo de Jenkins estaba utilizando previamente una versión anterior de Typescript y la caché no se borró adecuadamente, lo que llevó a la creación de varias versiones en la carpeta de caché.

    Para evitar este problema en el futuro, se recomienda siempre borrar la caché antes de ejecutar un trabajo de construcción y asegurarse de que se especifiquen correctamente las versiones de las dependencias en el archivo package.json. Además, actualizar yarn a la última versión también podría ayudar a evitar problemas similares en el futuro.

Comments are closed.