Migrera från npm

, Author

Migrera från npm bör vara en ganska enkel process för de flesta användare. Yarn kan använda samma package.json-format som npm och kan installera alla paket från npm-registret.

Om du vill prova Yarn på ditt befintliga npm-projekt är det bara att köra:

yarn

Detta kommer att lägga upp din node_modules-mapp med hjälp av Yarns upplösningsalgoritm som är kompatibel med thenode.js-modulens upplösningsalgoritm.

Om du får ett fel, kontrollera om det finns ett befintligt problem eller rapportera det till Yarns problemspårare.

När du kör antingen yarn eller yarn add <package> kommer Yarn att generera en yarn.lock-fil i rotkatalogen för ditt paket. Du behöver inte läsa eller förstå den här filen – det är bara att checka in den i källkontrollen. När andra personer börjar använda Yarn istället för npm kommer yarn.lock-filen att se till att de får exakt samma beroenden som du har.

I de flesta fall fungerar det bara att köra yarn eller yarn add för första gången. I vissa fall är informationen i en package.json-fil inte tillräckligt explicit för att eliminera beroenden, och det deterministiska sättet som Yarn väljer beroenden kommer att stöta på beroendekonflikter. Detta är särskilt troligt att hända i större projekt där npm install ibland inte fungerar och utvecklarna ofta tar bort node_modules och bygger om från början. Om detta händer kan du prova att använda npm för att göra versionerna av beroenden mer explicita, innan du konverterar till Yarn.

Sedan Yarn 1.7.0 kan du importera ditt package-lock.json-tillstånd, genererat av npm, till Yarn genom att använda yarn import.

Andra utvecklare i projektet kan fortsätta att använda npm, så du behöver inte få alla i ditt projekt att konvertera samtidigt. De utvecklare som använder yarn kommer alla att få exakt samma konfiguration som varandra, och de utvecklare som använder npm kan få något olika konfigurationer, vilket är det avsedda beteendet för npm.

Senare, om du bestämmer dig för att Yarn inte är något för dig, kan du bara återgå till att använda npm utan att göra några särskilda ändringar. Du kan radera din gamla yarn.lock-fil om ingen i projektet använder Yarn längre, men det är inte nödvändigt.

Om du använder en npm-shrinkwrap.json-fil just nu ska du vara medveten om att du kan få en annan uppsättning beroenden. Yarn stöder inte npmshrinkwrap-filer eftersom de inte innehåller tillräckligt med information för att driva Yarns mer deterministiska algoritm. Om du använder en shrinkwrap-fil kan det vara lättare att konvertera alla som arbetar med projektet till att använda Yarn samtidigt. Det är bara att flytta tillbaka din befintliga npm-shrinkwrap.json-fil och checka in den nyskapade yarn.lock-filen.

CLI-kommandon jämförelse

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 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

Lämna ett svar

Din e-postadress kommer inte publiceras.