Migraation npm:stä pitäisi olla melko helppo prosessi useimmille käyttäjille. Yarn käyttää samaa package.json
-muotoa kuin npm, ja se voi asentaa minkä tahansa paketin npm-rekisteristä.
Jos haluat kokeilla Yarnia olemassa olevaan npm-projektiisi, kokeile suorittaa:
yarn
Tällöin node_modules
-kansiosi asetellaan käyttäen Yarnin resoluutioalgoritmia, joka on yhteensopiva thenoden kanssa.js-moduulin resoluutioalgoritmin kanssa.
Jos saat virheen, tarkista, onko olemassa ongelma tai ilmoita siitäYarnin ongelmanseurantaan.
Kun suoritat joko yarn
tai yarn add <package>
, Yarn luo yarn.lock
-tiedoston pakettisi juurihakemistoon. Sinun ei tarvitse lukea tai ymmärtää tätä tiedostoa – tarkista se vain lähdekoodinhallintaan. Kun muut alkavat käyttää Yarnia npm
:n sijasta, yarn.lock
-tiedosto varmistaa, että he saavat täsmälleen samat riippuvuudet kuin sinä.
Useimmissa tapauksissa yarn
:n tai yarn add
:n suorittaminen ensimmäistä kertaa vain toimii. Joissakin tapauksissa package.json
-tiedoston tiedot eivät ole tarpeeksi yksiselitteisiä riippuvuuksien eliminoimiseksi, ja deterministinen tapa, jolla Yarn valitsee riippuvuudet, johtaa riippuvuuskonflikteihin. Tämä on erityisen todennäköistä suuremmissa projekteissa, joissa joskus npm install
ei toimi ja kehittäjät poistavat usein node_modules
:n ja rakentavat sen uudelleen tyhjästä. Jos näin käy, kokeile käyttää npm
:a tehdäksesi riippuvuuksien versiot selvemmiksi, ennen kuin muunnat Yarniin.
Yarn 1.7.0:sta lähtien voit tuoda npm
:n tuottaman package-lock.json-tilasi Yarniin käyttämällä yarn import
:a.
Muut projektin kehittäjät voivat jatkaa npm
:n käyttämistä, joten sinun ei tarvitse saada kaikkia projektin kehittäjiä muuntamaan samaan aikaan. Kehittäjät, jotka käyttävät yarn
, saavat kaikki täsmälleen saman konfiguraation kuin muutkin, ja kehittäjät, jotka käyttävät npm
, voivat saada hieman erilaisia konfiguraatioita, mikä on npm
.
Myöhemmin, jos päätät, että Yarn ei sovi sinulle, voit vain palata käyttämään npm
:aa tekemättä mitään erityisiä muutoksia. Voit poistaa vanhan yarn.lock
-tiedoston, jos kukaan projektissa ei enää käytä Yarnia, mutta se ei ole välttämätöntä.
Jos käytät npm-shrinkwrap.json
-tiedostoa juuri nyt, ota huomioon, että saattaisit päätyä erilaisiin riippuvuuksiin. Yarn ei tue npmshrinkwrap-tiedostoja, koska niissä ei ole tarpeeksi tietoa Yarnin smore deterministisen algoritmin käyttämiseksi. Jos käytät shrinkwrap-tiedostoa, voi olla helpompaa muuntaa kaikki projektin parissa työskentelevät käyttämään Yarnia samaan aikaan. Yksinkertaisesti poista olemassa oleva npm-shrinkwrap.json
-tiedostosi ja tarkista juuri luotu yarn.lock
-tiedosto.
CLI-komentojen vertailu
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 |