npm este managerul de pachete implicit pentru Node.js. Facebook a dezvoltat de mult o soluție alternativă de gestionare a pachetelor numită Yarn . Yarn pare să dispară încet din readmes-urile GitHub ca soluție implicită, iar statisticile de pe site-ul oficial arată că doar o parte din instalările pachetelor sunt efectuate cu Yarn. Cu toate acestea, merită să vă uitați în afara cutiei.
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 început cu scopul de a rezolva unele dintre punctele dureroase ale npm. Cea mai evidentă diferență este performanța mai mare: prin instalări incrementale, multithreading și cea mai recentă caracteristică ucigașă Plug'n'Play (PNP), performanța crește dramatic. Plug'n'Play respinge ideea unui folder node_modules bazat pe proiecte, care poate crește adesea la înălțimi astronomice în numărul de fișiere. Puteți afla mai multe despre acest lucru în cartea albă oficială Plug'n'Play . Instalăm eslint o dată cu npm și apoi cu fire cu cache-ul încălzit în fiecare caz pentru a face diferența de viteză clară (6x!):

