Garn plug'n'play

npm är standardpakethanteraren för Node.js. Facebook har länge utvecklat en alternativ pakethanteringslösning som heter Yarn . Yarn verkar sakta försvinna från GitHub readmes som standardlösning och statistiken på den officiella sidan visar att endast en bråkdel av paketinstallationerna utförs med Yarn. Ändå är det värt att titta utanför boxen.


Yarn är helt kompatibelt med befintliga package.json-filer, så du kan enkelt använda båda lösningarna i befintliga projekt. Kommandona för de två lösningarna skiljer sig bara marginellt åt. Nedan följer en jämförelse av de viktigaste kommandona.:

BeskrivningnpmGarn
Initiera npm initgarn init
Uppdateringnpm installera -g npmgarn självuppdatering
Installera paketetnpm installera
- spara [namn]
garn lägg till [namn]
Installera paketetnpm installera
--save-dev [namn]
garn lägg till
--dev [namn]
Installera paketet globaltnpm installera -g [namn]garn globalt lägg till [namn]
Installera alla paketnpm installeragarninstallation
Uppdatera alla paketnpm-uppdateringgarnuppgradering
Avinstallera paketetnpm ta bort [namn]garn ta bort [namn]

Yarn började med målet att lösa några av npms smärtpunkter. Den mest uppenbara skillnaden är den högre prestandan: genom inkrementella installationer, multithreading och den senaste mördande funktionen Plug'n'Play (PNP), ökar prestandan dramatiskt. Plug'n'Play avvisar idén om en projektbaserad node_modules-mapp, som ofta kan växa till astronomiska höjder i antalet filer. Du kan ta reda på mer om detta i den officiella Plug'n'Play vitboken . Vi installerar eslint en gång med npm och sedan med garn med cachen uppvärmd i varje fall för att göra skillnaden i hastighet tydlig (6x!):

npm 6.5.0
Garn 1.12.3
Tillbaka