Migrace z npm by měla být pro většinu uživatelů poměrně snadná. Yarn umípoužívat stejný formát package.json
jako npm a dokáže nainstalovat jakýkoli balíček z registru npm.
Pokud chcete vyzkoušet Yarn na svém stávajícím projektu npm, zkuste spustit:
yarn
Tento příkaz rozloží vaši složku node_modules
pomocí algoritmu rozlišení Yarn, který je kompatibilní s thenode.js algoritmem rozlišení modulů.
Pokud dojde k chybě, zkontrolujte existující problém nebo jej nahlaste do nástroje sledování problémůYarn.
Pokud spustíte yarn
nebo yarn add <package>
, Yarn vygeneruje soubor yarn.lock
v kořenovém adresáři vašeho balíčku. Tento soubor nemusíte číst ani mu rozumět – stačí jej zkontrolovat ve správě zdrojů. Až začnou ostatní lidé používat Yarn místo npm
, soubor yarn.lock
zajistí, že dostanou přesně stejné závislosti jako vy.
Ve většině případů bude první spuštění yarn
nebo yarn add
prostě fungovat. V některých případech nejsou informace v souboru package.json
dostatečně jednoznačné, aby bylo možné závislosti vyloučit, a deterministický způsob, jakým Yarn vybírá závislosti, narazí na konflikty závislostí. K tomu pravděpodobně dochází zejména u větších projektů, kde někdy npm install
nefunguje a vývojáři často odstraňují node_modules
a vytvářejí jej znovu od začátku. Pokud k tomu dojde, zkuste před převodem na Yarn použít npm
, aby byly verze závislostí jednoznačnější.
Od verze Yarn 1.7.0 můžete stav package-lock.json vygenerovaný pomocí npm
importovat do Yarnu pomocí yarn import
.
Ostatní vývojáři v projektu mohou nadále používat npm
, takže není nutné, aby všichni v projektu převáděli najednou. Vývojáři používající yarn
dostanou všichni přesně stejnou konfiguraci jako ostatní a vývojáři používající npm
mohou dostat mírně odlišnou konfiguraci, což je zamýšlené chování npm
.
Pokud se později rozhodnete, že vám Yarn nevyhovuje, můžete se prostě vrátit k používání npm
, aniž byste prováděli nějaké zvláštní změny. Pokud už nikdo v projektu nepoužívá Yarn, můžete starý soubor yarn.lock
smazat, ale není to nutné.
Pokud nyní používáte soubor npm-shrinkwrap.json
, uvědomte si, že můžete skončit s jinou sadou závislostí. Yarn nepodporuje soubory npmshrinkwrap, protože v nich není dostatek informací pro napájení deterministického algoritmu Yarn smore. Pokud používáte soubor shrinkwrap, může být jednodušší převést všechny pracující na projektu na používání Yarnu současně. Stačí odstranit stávající soubor npm-shrinkwrap.json
a zkontrolovat nově vytvořený soubor yarn.lock
.
Srovnání příkazů 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 |
(NEUVEDENO) | yarn add --pure-lockfile |
npm install --save |
yarn add |
npm install --save-dev |
yarn add --dev |
(NEUVEDENO) | yarn add --peer |
npm install --save-optional |
yarn add --optional |
npm install --save-exact |
yarn add --exact |
(NEUVEDENO) | 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 |