Migrering fra npm

, Author

Migrering fra npm burde være en ret nem proces for de fleste brugere. Yarn kanbruge det samme package.json-format som npm og kan installere enhver pakke fra npm-registret.

Hvis du vil prøve Yarn på dit eksisterende npm-projekt, skal du bare prøve at køre:

yarn

Dette vil lægge din node_modules-mappe ud ved hjælp af Yarns opløsningsalgoritme, der er kompatibel med thenode.js modulopløsningsalgoritme.

Hvis du får en fejl, skal du kontrollere, om der findes et eksisterende problem, eller rapportere det til Yarn-fejlsøgningssystemet.

Når du kører enten yarn eller yarn add <package>, vil Yarn generere en yarn.lock-fil i rodmappen for din pakke. Du behøver ikke at læse eller forstå denne fil – du skal blot tjekke den ind i kildekontrollen. Når andre begynder at bruge Yarn i stedet for npm, vil yarn.lock-filen sikre, at de får præcis de samme afhængigheder som du har.

I de fleste tilfælde vil det bare fungere at køre yarn eller yarn add for første gang. I nogle tilfælde er oplysningerne i en package.json-fil ikke eksplicitte nok til at fjerne afhængigheder, og den deterministiske måde, som Yarn vælger afhængigheder på, vil løbe ind i afhængighedskonflikter. Dette vil især ske i større projekter, hvor npm install nogle gange ikke fungerer, og hvor udviklerne ofte fjerner node_modules og genopbygger fra bunden. Hvis det sker, kan du prøve at bruge npm til at gøre versionerne af afhængigheder mere eksplicitte, før du konverterer til Yarn.

Som i Yarn 1.7.0 kan du importere din package-lock.json-status, genereret af npm, til Yarn ved at bruge yarn import.

Andre udviklere på projektet kan fortsætte med at bruge npm, så du behøver ikke at få alle på dit projekt til at konvertere på samme tid. De udviklere, der bruger yarn, vil alle få nøjagtig den samme konfiguration som hinanden, og de udviklere, der bruger npm, kan få lidt forskellige konfigurationer, hvilket er den tilsigtede adfærd for npm.

Spå et senere tidspunkt, hvis du beslutter, at Yarn ikke er noget for dig, kan du bare gå tilbage til at bruge npm uden at foretage nogen særlige ændringer. Du kan slette din gamle yarn.lock-fil, hvis ingen på projektet bruger Yarn længere, men det er ikke nødvendigt.

Hvis du bruger en npm-shrinkwrap.json-fil lige nu, skal du være opmærksom på, at du kan ende med et andet sæt af afhængigheder. Yarn understøtter ikke npmshrinkwrap-filer, da de ikke har nok information i dem til at drive Yarns smore deterministiske algoritme. Hvis du bruger en shrinkwrap-fil, kan det være nemmere at konvertere alle, der arbejder på projektet, til at bruge Yarn på samme tid. Du skal blot flytte din eksisterende npm-shrinkwrap.json-fil og tjekke den nyoprettede yarn.lock-fil ind.

CLI-kommandoer sammenligning

npm (v5) Yarn
npm install yarn add
(N/A) yarn add --flat
(N/A) yarn add --har
npm install --no-package-lock
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 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

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.