In breve
npm e Bun sono gestori di pacchetti: strumenti che scaricano e installano le librerie (chiamate pacchetti) da cui dipende il tuo progetto. npm è incluso con Node.js ed è lo standard di lunga data, mentre Bun è un'alternativa più recente e molto più veloce, capace anche di eseguire il tuo codice. Entrambi leggono lo stesso file package.json che elenca le tue dipendenze, quindi per un principiante la differenza pratica sta soprattutto nella velocità e nei comandi che digiti.
Cosa fa un gestore di pacchetti
Le applicazioni moderne sono costruite a partire da centinaia di piccole librerie riutilizzabili, invece che scritte da zero. Un gestore di pacchetti legge l'elenco di dipendenze del tuo progetto, le scarica e mantiene coerenti le loro versioni, così lo stesso progetto funziona in modo identico su ogni macchina.
Gli stessi comandi, uno strumento diverso
I comandi quotidiani si corrispondono quasi uno a uno tra npm e Bun, il che rende facile il passaggio.
npm install # npm: installare tutte le dipendenze
npm run dev # npm: lanciare lo script dev
bun install # bun: la stessa cosa, ma più veloce
bun run dev # bun: lanciare lo script devCosa dovrebbe usare un principiante
Se un tutorial usa npm, usa npm; se usa Bun, usa Bun. Sono abbastanza interscambiabili da poter seguire entrambi. npm è garantito presente, perché viene con Node.js. Bun vale la pena appena vuoi install più veloci, ma è uno strumento in più da mettere in piedi. Scegli ciò che il tuo progetto o corso usa già, e resta coerente.
Confusioni frequenti dei principianti
La parola "pacchetto" suona tecnica, ma indica solo un pezzo di codice riutilizzabile che qualcun altro ha scritto e pubblicato perché tu non debba farlo. Quando lanci install, il gestore scarica tutti i pacchetti che il tuo progetto elenca in una cartella chiamata node_modules. Questa cartella può diventare grande, il che è normale e senza pericolo, ed è una delle cose che tieni fuori da Git, perché può essere ricostruita in qualsiasi momento a partire dall'elenco delle dipendenze. Le persone si preoccupano anche del file di lock (package-lock.json o bun.lock) che compare dopo l'installazione. Non lo modifichi a mano; fissa semplicemente le versioni esatte perché il tuo progetto si installi in modo identico ovunque. Committalo, e lascia che il gestore di pacchetti lo aggiorni per te.
