Migrálás az npm-ről

, Author

A legtöbb felhasználó számára az npm-ről való migrálás meglehetősen egyszerű folyamat. A Yarn ugyanazt a package.json formátumot használja, mint az npm, és bármilyen csomagot képes telepíteni az npm regiszteréből.

Ha ki akarod próbálni a Yarnt a meglévő npm projekteden, csak próbáld ki a:

yarn

Ez a Yarn felbontási algoritmusát használva fogja elrendezni a node_modules mappádat, amely kompatibilis a thenode-dal.js modulfelbontási algoritmussal.

Ha hibát kap, kérjük, keressen egy létező problémát, vagy jelentse aYarn issue trackerben.

Ha a yarn vagy a yarn add <package> futtatásakor a Yarn létrehoz egy yarn.lock fájlt a csomagja gyökérkönyvtárában. Ezt a fájlt nem kell elolvasnod vagy megértened – csak ellenőrizd a forrásellenőrzésben. Amikor mások elkezdik használni a Yarnt a npm helyett, a yarn.lock fájl biztosítja, hogy pontosan ugyanazokat a függőségeket kapják meg, mint te.

A legtöbb esetben a yarn vagy a yarn add első futtatása egyszerűen működik. Bizonyos esetekben a package.json fájlban lévő információ nem elég explicit a függőségek kiküszöböléséhez, és a determinisztikus módon, ahogyan a Yarn kiválasztja a függőségeket, függőségi konfliktusokba fog ütközni. Ez különösen nagy valószínűséggel fordulhat elő nagyobb projektekben, ahol néha a npm install nem működik, és a fejlesztők gyakran eltávolítják a node_modules-t és újraépítik a nulláról. Ha ez történik, próbáld meg a npm használatával egyértelműbbé tenni a függőségek verzióit, mielőtt a Yarnra konvertálnál.

A Yarn 1.7.0-tól kezdve a npm által generált package-lock.json állapotot a yarn import használatával importálhatod a Yarnba.

A projekt többi fejlesztője továbbra is használhatja a npm-t, így nem kell a projektedben mindenkit egyszerre konvertálni. A yarn-t használó fejlesztők mind pontosan ugyanazt a konfigurációt fogják kapni, mint a többiek, a npm-t használó fejlesztők pedig kissé eltérő konfigurációkat kaphatnak, ami a npm.

A későbbiekben, ha úgy döntesz, hogy a Yarn nem neked való, egyszerűen visszatérhetsz a npm használatához anélkül, hogy különösebb változtatásokat végeznél. Törölheti a régi yarn.lock fájlt, ha a projektben már senki sem használja a Yarnt, de ez nem szükséges.

Ha most egy npm-shrinkwrap.json fájlt használ, vegye figyelembe, hogy a függőségek eltérő készletét kaphatja. A Yarn nem támogatja az npmshrinkwrap fájlokat, mivel nincs bennük elég információ a Yarn smore determinisztikus algoritmusának működtetéséhez. Ha shrinkwrap fájlt használ, könnyebb lehet átállítani mindenkit, aki a projekten dolgozik, hogy egyszerre használja a Yarnt. Egyszerűen távolítsa el a meglévő npm-shrinkwrap.json fájlt, és ellenőrizze az újonnan létrehozott yarn.lock fájlt.

CLI parancsok összehasonlítása

.

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

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.