Garn plug'n'play

npm er standardpakkehåndtering for Node.js. Facebook har længe udviklet en alternativ pakkehåndteringsløsning kaldet Garn . Garn ser ud til langsomt at forsvinde fra Github readmes som standardløsningen, og statistikken på det officielle websted viser, at kun en brøkdel af pakkerne udføres af Garn. Ikke desto mindre er det værd at tænke uden for boksen.


Garn er fuldt kompatibelt med eksisterende package.json-filer - så du kan bruge begge løsninger til eksisterende projekter uden problemer. Kommandoerne for de to løsninger adskiller sig kun marginalt. Her er en sammenligning af de vigtigste kommandoer:

BeskrivelsenpmGarn
Initialiser npm initgarn init
Opdateringnpm installer -g npmgarn selvopdatering
Installer pakkenpm installation
- gem [navn]
garn tilføj [navn]
Installer pakkenpm installation
--save-dev [navn]
garn tilføj
--dev [navn]
Installer pakken globaltnpm installation -g [navn]garn global tilføj [navn]
Installer alle pakkernpm installationgarninstallation
Opdater alle pakkernpm opdateringgarnopgradering
Afinstaller pakkenpm fjern [navn]garn fjern [navn]

Garn startede med det formål at løse nogle af svaghederne ved npm. Den mest åbenlyse forskel er den højere ydeevne: Gennem trinvise installationer, multithreading og den nyeste killer-funktion Plug'n'Play (PNP) øges ydeevnen dramatisk. Plug'n'Play kasserer ideen om en projektbaseret node_modules-mappe, antallet af filer, der ofte kan vokse til astronomiske højder . Mere om dette kan findes i det officielle plug'n'play hvidbog . Vi installerer eslint en gang med npm og derefter med garn med cache opvarmet i hvert tilfælde for at gøre forskellen i hastighed (6x!) Ryd:

npm 6.5.0
Garn 1.12.3
Tilbage