La differenza principale tra pacchetti locali e globali è questa:

  • i pacchetti locali sono installati nella directory dove si esegue npm install <package-name>, e sono messi nella cartella node_modules sotto questa directory
  • i pacchetti globali sono tutti messi in un unico posto nel vostro sistema (esattamente dove dipende dalla vostra configurazione), indipendentemente da dove si esegue npm install -g <package-name>

Nel vostro codice potete richiedere solo pacchetti locali:

require('package-name')

quindi quando dovresti installare in un modo o nell’altro?

In generale, tutti i pacchetti dovrebbero essere installati localmente.

Questo ti assicura di poter avere dozzine di applicazioni nel tuo computer, tutte con una versione diversa di ogni pacchetto, se necessario.

Aggiornare un pacchetto globale farebbe sì che tutti i tuoi progetti usino la nuova versione, e come puoi immaginare questo potrebbe causare incubi in termini di manutenzione, poiché alcuni pacchetti potrebbero rompere la compatibilità con altre dipendenze, e così via.

Tutti i progetti hanno la propria versione locale di un pacchetto, anche se questo potrebbe sembrare uno spreco di risorse, è minimo rispetto alle possibili conseguenze negative.

Un pacchetto dovrebbe essere installato globalmente quando fornisce un comando eseguibile che si esegue dalla shell (CLI), ed è riutilizzato tra i progetti.

È anche possibile installare comandi eseguibili localmente ed eseguirli usando npx, ma alcuni pacchetti sono semplicemente meglio installati globalmente.

Grandi esempi di pacchetti globali popolari che potresti conoscere sono

  • npm
  • create-react-app
  • vue-cli
  • grunt-cli
  • mocha
  • react-native-cli
  • gatsby-cli
  • forever
  • nodemon

Probabilmente hai già alcuni pacchetti installati globalmente sul tuo sistema. Puoi vederli eseguendo

npm list -g --depth 0

sulla tua linea di comando.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.