npm è il gestore di pacchetti predefinito per Node.js. Facebook ha sviluppato da tempo una soluzione alternativa di gestione dei pacchetti chiamata Yarn . Yarn sembra stia lentamente scomparendo dai readme di GitHub come soluzione standard e le statistiche sul sito ufficiale mostrano che solo una frazione dei pacchetti viene eseguita da Yarn. Tuttavia, vale la pena pensare fuori dagli schemi.
Yarn è completamente compatibile con i file package.json esistenti, quindi puoi utilizzare entrambe le soluzioni per progetti esistenti senza problemi. I comandi delle due soluzioni differiscono solo marginalmente. Ecco un confronto dei comandi più importanti:
Descrizione | npm | Filato |
Inizializzare | npm init | filato init |
Aggiornare | installazione di npm -g npm | auto-aggiornamento del filato |
Installa pacchetto | npm install --salva [nome] | filato aggiungi [nome] |
Installa pacchetto | npm install --save-dev [nome] | filato aggiungere --dev [nome] |
Installa il pacchetto a livello globale | npm install -g [nome] | filato globale aggiungi [nome] |
Installa tutti i pacchetti | npm install | installazione del filato |
Aggiorna tutti i pacchetti | aggiornamento npm | aggiornamento del filato |
Disinstalla il pacchetto | npm rimuovi [nome] | filato rimuovi [nome] |
Yarn è iniziato con l'obiettivo di risolvere alcuni dei punti deboli di npm. La differenza più evidente è la maggiore prestazione: attraverso installazioni incrementali, multithreading e l'ultima killer funzionalità Plug'n'Play (PNP) le prestazioni aumentano drasticamente. Plug'n'Play scarta l'idea di una cartella node_modules basata sul progetto, il numero di file che spesso possono crescere fino ad altezze astronomiche . Maggiori informazioni possono essere trovate nel white paper ufficiale plug'n'play. Installiamo eslint una volta con npm e poi con il filo con la cache riscaldata in ogni caso per fare la differenza di velocità (6x!) Clear:

