Migreren van npm

, Author

Migreren van npm zou voor de meeste gebruikers een vrij eenvoudig proces moeten zijn. Yarn kan hetzelfde package.json-formaat gebruiken als npm, en kan elk pakket uit het npm-register installeren.

Als u Yarn wilt uitproberen op uw bestaande npm-project, probeer dan het volgende uit te voeren:

yarn

Dit zal uw node_modules-map indelen met behulp van Yarn’s resolutiealgoritme dat compatibel is met het module-resolutiealgoritme van Thenode.js module resolutie algoritme.

Als u een fout krijgt, controleer dan of er een bestaand probleem is of meld het aan deYarn issue tracker.

Wanneer u yarn of yarn add <package> uitvoert, genereert Yarn een yarn.lock bestand in de root directory van uw pakket. Je hoeft dit bestand niet te lezen of te begrijpen – controleer het gewoon in bronbeheer. Wanneer andere mensen Yarn gaan gebruiken in plaats van npm, zal het yarn.lock bestand ervoor zorgen dat ze precies dezelfde dependencies krijgen als jij hebt.

In de meeste gevallen zal het draaien van yarn of yarn add voor de eerste keer gewoon werken. In sommige gevallen is de informatie in een package.json-bestand niet expliciet genoeg om afhankelijkheden te elimineren, en de deterministische manier waarop Yarn afhankelijkheden kiest, zal op afhankelijkheidsconflicten stuiten. Dit is vooral waarschijnlijk om te gebeuren in grotere projecten waar soms npm install niet werkt en ontwikkelaars zijn vaak het verwijderen van node_modules en opnieuw te bouwen vanaf nul. Als dit gebeurt, probeer dan npm te gebruiken om de versies van de afhankelijkheden explicieter te maken, voordat u converteert naar Yarn.

Vanaf Yarn 1.7.0, kunt u uw package-lock.json state, gegenereerd door npm naar Yarn importeren, door yarn import te gebruiken.

Andere ontwikkelaars op het project kunnen npm blijven gebruiken, dus u hoeft niet iedereen op uw project tegelijkertijd te laten converteren. De ontwikkelaars die yarn gebruiken zullen allemaal precies dezelfde configuratie krijgen, en de ontwikkelaars die npm gebruiken kunnen iets andere configuraties krijgen, wat het bedoelde gedrag is van npm.

Wanneer u later besluit dat Yarn niets voor u is, kunt u gewoon teruggaan naar het gebruik van npm zonder bijzondere veranderingen aan te brengen. U kunt uw oude yarn.lock bestand verwijderen als niemand in het project Yarn meer gebruikt, maar het is niet nodig.

Als u nu een npm-shrinkwrap.json bestand gebruikt, wees u er dan van bewust dat u met een andere set afhankelijkheden kunt komen te zitten. Yarn ondersteunt geen npmshrinkwrap bestanden omdat ze niet genoeg informatie bevatten om Yarn’s meer deterministische algoritme aan te drijven. Als je een shrinkwrap bestand gebruikt, kan het eenvoudiger zijn om iedereen die aan het project werkt om te zetten naar Yarn op hetzelfde moment. Verwijder gewoon uw bestaande npm-shrinkwrap.json bestand en check in het nieuw aangemaakte yarn.lock bestand.

CLI commando’s vergelijking

npm (v5) Yarn
npm install yarn add
(N.V.T.) yarn add --flat
(N.V.T.) yarn add --har
npm install --no-package-lock yarn add --no-lockfile
(N.V.T.) yarn add --pure-lockfile
npm install --save yarn add
npm install --save-dev yarn add --dev
(N.V.T.) yarn add --peer
npm install --save-optional yarn add --optional
npm install --save-exact yarn add --exact
(N.V.T.) 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

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.