Migrar desde npm debería ser un proceso bastante fácil para la mayoría de los usuarios. Yarn puede consumir el mismo formato package.json
que npm, y puede instalar cualquier paquete del registro de npm.
Si quiere probar Yarn en su proyecto npm existente, simplemente intente ejecutar:
yarn
Esto distribuirá su carpeta node_modules
usando el algoritmo de resolución de Yarn que es compatible con el algoritmo de resolución de módulos de thenode.js.
Si obtiene un error, por favor, compruebe si existe un problema o infórmelo en el gestor de problemas de Yarn.
Cuando ejecute yarn
o yarn add <package>
, Yarn generará un archivo yarn.lock
dentro del directorio raíz de su paquete. No es necesario que lea o entienda este archivo – simplemente compruébelo en el control de código fuente. Cuando otras personas comiencen a usar Yarn en lugar de npm
, el archivo yarn.lock
se asegurará de que obtengan precisamente las mismas dependencias que usted.
En la mayoría de los casos, ejecutar yarn
o yarn add
por primera vez simplemente funcionará. En algunos casos, la información en un archivo package.json
no es lo suficientemente explícita para eliminar las dependencias, y la forma determinista en que Yarn elige las dependencias se encontrará con conflictos de dependencias. Esto es especialmente probable que ocurra en proyectos más grandes donde a veces npm install
no funciona y los desarrolladores están eliminando frecuentemente node_modules
y reconstruyendo desde cero. Si esto ocurre, pruebe a utilizar npm
para hacer más explícitas las versiones de las dependencias, antes de convertir a Yarn.
A partir de Yarn 1.7.0, puede importar su estado package-lock.json, generado por npm
a Yarn, utilizando yarn import
.
Otros desarrolladores del proyecto pueden seguir utilizando npm
, por lo que no es necesario que todo el mundo en su proyecto se convierta al mismo tiempo. Los desarrolladores que utilicen yarn
obtendrán exactamente la misma configuración que los demás, y los desarrolladores que utilicen npm
pueden obtener configuraciones ligeramente diferentes, que es el comportamiento previsto de npm
.
Más adelante, si decide que Yarn no es para usted, puede simplemente volver a utilizar npm
sin hacer ningún cambio en particular. Puede borrar su antiguo archivo yarn.lock
si nadie en el proyecto está usando ya Yarn, pero no es necesario.
Si está usando un archivo npm-shrinkwrap.json
en este momento, tenga en cuenta que puede terminar con un conjunto diferente de dependencias. Yarn no es compatible con los archivos npmshrinkwrap ya que no tienen suficiente información en ellos para alimentar el algoritmo más determinista de Yarn. Si está usando un archivo shrinkwrap puede ser más fácil convertir a todos los que trabajan en el proyecto para que usen Yarn al mismo tiempo. Simplemente remueva su archivo npm-shrinkwrap.json
existente y compruebe el archivo yarn.lock
recién creado.
Comparación de comandos de la interfaz de usuario (CLI)
npm (v5) | Yarn |
---|---|
npm install |
yarn add |
(N/A) | yarn add --flat |
(N/A) | yarn add --har |
npm install --no-package-lock |
yarn add --no-lockfile |
(N/A) | yarn add --pure-lockfile |
npm install --save |
yarn add |
npm install --save-dev |
yarn add --dev |
(N/A) | yarn add --peer |
npm install --save-optional |
yarn add --optional |
npm install --save-exact |
yarn add --exact |
(N/A) | yarn add --tilde |
npm install --global |
yarn global add |
npm update --global |
yarn global upgrade |
npm rebuild |
yarn add --force |
npm uninstall |
yarn remove |
npm cache clean |
yarn cache clean |
rm -rf node_modules && npm install |
yarn upgrade |
npm version major |
yarn version --major |
npm version minor |
yarn version --minor |
npm version patch |
yarn version --patch |