npm este managerul standard de pachete pentru Node.js. Cu toate acestea, Facebook dezvoltă de ceva vreme o soluție alternativă de gestionare a pachetelor numită Yarn . Se pare că Yarn dispare încet din fișierul README al GitHub ca soluție implicită, iar statisticile de pe site-ul oficial arată că doar o mică parte din instalările de pachete sunt efectuate cu Yarn. Cu toate acestea, merită să aruncăm o privire dincolo de evident.
Yarn este complet compatibil cu fișierele package.json existente, astfel încât puteți utiliza cu ușurință ambele soluții în proiectele existente. Comenzile pentru cele două soluții diferă doar puțin. Mai jos este o comparație a celor mai importante comenzi.:
| Descriere | npm | Fire |
| Inițializați | npm init | fire init |
| Actualizați | npm install -g npm | fire auto-actualizare |
| Instalați pachetul | instalare npm --save [name] | fire add [name] |
| Instalați pachetul | instalare npm --save-dev [nume] | fire adauga --dev [nume] |
| Instalați pachetul la nivel global | npm install -g [nume] | fire global add [nume] |
| Instalați toate pachetele | instalare npm | instalarea firelor |
| Actualizați toate pachetele | actualizare npm | upgrade de fire |
| Dezinstalați pachetul | npm elimina [nume] | fire elimina [nume] |
Yarn a fost conceput pentru a remedia unele dintre punctele slabe ale npm. Cea mai evidentă diferență este performanța îmbunătățită: instalările incrementale, multithreading-ul și cea mai recentă funcție de ultimă generație , Plug'n'Play (PNP), cresc dramatic performanța. Plug'n'Play elimină necesitatea unui folder `node_modules` bazat pe proiect, care poate crește adesea în proporții astronomice în ceea ce privește numărul de fișiere. Mai multe informații pot fi găsite în whitepaper-ul oficial Plug'n'Play . Vom instala eslint o dată cu npm și apoi cu Yarn, fiecare cu o memorie cache încălzită, pentru a demonstra clar diferența de viteză (de 6 ori!).:

