Migrer de npm devrait être un processus assez facile pour la plupart des utilisateurs. Yarn peutconsumer le même format package.json
que npm, et peut installer n’importe quel paquet du registre npm.
Si vous voulez essayer Yarn sur votre projet npm existant, essayez simplement d’exécuter :
yarn
Cela disposera votre dossier node_modules
en utilisant l’algorithme de résolution de Yarnqui est compatible avec thenode.js module resolution algorithm.
Si vous obtenez une erreur, veuillez vérifier si un problème existe ou le signaler auYarn issue tracker.
Lorsque vous exécutez yarn
ou yarn add <package>
, Yarn génère un fichier yarn.lock
dans le répertoire racine de votre paquet. Vous n’avez pas besoin de lire ou de comprendre ce fichier – il suffit de l’enregistrer dans le contrôle de la source. Lorsque d’autres personnes commenceront à utiliser Yarn au lieu de npm
, le fichier yarn.lock
s’assurera qu’ils obtiennent précisément les mêmes dépendances que vous.
Dans la plupart des cas, l’exécution de yarn
ou yarn add
pour la première fois fonctionnera simplement. Dans certains cas, les informations d’un fichier package.json
ne sont pas assez explicites pour éliminer les dépendances, et la façon déterministe dont Yarn choisit les dépendances se heurtera à des conflits de dépendances. Cela est particulièrement susceptible de se produire dans les grands projets où parfois npm install
ne fonctionne pas et où les développeurs suppriment fréquemment node_modules
et reconstruisent à partir de zéro. Si cela se produit, essayez d’utiliser npm
pour rendre les versions des dépendances plus explicites, avant de convertir à Yarn.
A partir de Yarn 1.7.0, vous pouvez importer votre état package-lock.json, généré par npm
à Yarn, en utilisant yarn import
.
Les autres développeurs du projet peuvent continuer à utiliser npm
, donc vous n’avez pas besoin de faire convertir tout le monde sur votre projet en même temps. Les développeurs utilisant yarn
obtiendront tous exactement la même configuration les uns que les autres, et les développeurs utilisant npm
peuvent obtenir des configurations légèrement différentes, ce qui est le comportement prévu de npm
.
Plus tard, si vous décidez que Yarn n’est pas pour vous, vous pouvez simplement revenir à l’utilisation de npm
sans faire de changements particuliers. Vous pouvez supprimer votre ancien fichier yarn.lock
si personne sur le projet n’utilise plus Yarn mais ce n’est pas nécessaire.
Si vous utilisez un fichier npm-shrinkwrap.json
en ce moment, sachez que vous pouvez vous retrouver avec un ensemble différent de dépendances. Yarn ne prend pas en charge les fichiers npmshrinkwrap car ils ne contiennent pas suffisamment d’informations pour alimenter l’algorithme déterministe smore de Yarn. Si vous utilisez un fichier shrinkwrap, il peut être plus facile de convertir tous ceux qui travaillent sur le projet pour utiliser Yarn en même temps. Retirez simplement votre fichier npm-shrinkwrap.json
existant et enregistrez le fichier yarn.lock
nouvellement créé.
CLI comparaison des commandes
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 |