scripts que node instalar example node.js yarnpkg

node.js - node - ¿Cómo fuerzo a Yarn a reinstalar un paquete?



package.json que es (3)

Mi proyecto tiene una dependencia que a veces recibo de un servidor de paquetes y otras veces de una copia local que tengo en mi máquina. Como resultado, con frecuencia necesito tener un interruptor de hilo donde busque la dependencia. Además, a menudo cambio la copia local de la dependencia y necesito ver ese cambio reflejado en mi proyecto principal. Como resultado, necesito una forma de decirle a Yarn que continúe buscando en la misma ubicación para la dependencia, pero para reinstalar la dependencia, omitiendo el caché y extrayéndolo directamente de su fuente actual, incluso cuando el número de versión no haya cambiado. (A veces quiero probar pequeños cambios en la dependencia, y actualizar el número de versión cada vez sería rápidamente molesto).

¿Cómo lo hago?

He intentado lo siguiente, pero ninguno de ellos funciona:

yarn remove dependency yarn add file:/dependency

Continúa utilizando la versión anterior de la dependencia.

yarn remove dependency yarn cache clear yarn add file:/dependency yarn install --force

También continúa utilizando la versión anterior de la dependencia.

yarn remove dependency rm -rf node_modules/ yarn cache clear yarn add file:/dependency yarn install --force

Todavía sigue utilizando la versión anterior de la dependencia.

¿Cómo puedo asegurarme de que Yarn esté utilizando la última versión de mi dependencia?


Hay otra manera. Solo usa el yarn upgrade package-name


Puede utilizar el comando de yarn link . Esto configurará su dependencia local para que cada vez que realice un cambio en la dependencia, se muestre de inmediato en su proyecto principal sin que tenga que hacer nada más para actualizarlo.

Si su proyecto principal está en ~/programming/main y su dependencia está en ~/programming/dependency y se llama MyLocalDependency , querrá:

1) Ejecute el yarn link (sin indicadores adicionales) desde su dependencia:

cd ~/programming/dependency yarn link

2) Ejecute el yarn link <name of dependency package> desde su proyecto principal:

cd ~/programming/main yarn link MyLocalDependency

¡Y tu estas listo!

Si desea cambiar de una copia local de la dependencia a otra alojada en otro lugar, puede usar el yarn unlink .

cd ~/programming/main yarn unlink MyLocalDependency cd ~/programming/dependency yarn unlink

Si utiliza NPM en lugar de Yarn, npm link y npm link <dependency> funcionan de la misma manera. Para desvincular la dependencia, ejecute npm rm --global <dependency> . (Esto se debe a que npm link funciona al crear un enlace de simulación en el conjunto global de paquetes de NPM, por lo que la desinstalación de la dependencia vinculada de los paquetes globales también rompe el enlace).

Consulte la documentación del npm link y ¿Cómo desinstalo un paquete instalado usando el enlace npm?


Reinstalar un paquete después de simplemente eliminar el módulo de nodo funciona con:

yarn install --check-files