In questa lezione impareremo a gestire i framework e i pacchetti con npm (Node Package Manager), uno strumento fondamentale per i progetti in Node.js.
Nota: npm è già installato di default con Node.js.
L'npm è il gestore di pacchetti predefinito per Node.js, integrato automaticamente durante l’installazione di Node.js. Oltre a semplificare la gestione di librerie e framework, consente di accedere a un vasto registry pubblico con migliaia di pacchetti open-source disponibili per il download.
Puoi verificare che npm sia installato correttamente sul dispositivo con questa istruzione nel terminale:
npm -vQuesto comando dovrebbe restituirti la versione di npm installata. Se non viene restituita una versione (es. 9.6.7), reinstalla Node.js come abbiamo visto nell'introduzione a Node.js.
Installare un pacchetto con npm significa scaricare e configurare una libreria, un framework o uno strumento JavaScript per utilizzarlo nel tuo progetto Node.js. Ad esempio, esistono librerie come bcrypt per crittografare le password e socket.io per gestire chat in tempo reale.
I pacchetti locali sono legati a un singolo progetto e vengono salvati nella cartella "node_modules". Si usano quando un pacchetto serve solo all’interno di quel progetto, senza bisogno di installarlo a livello globale.
Per installare un pacchetto, come Express (un framework che utilizzeremo più avanti), per prima cosa ci rechiamo nella cartella del progetto tramite la sintassi: cd percorso_cartella.
cd /Users/Admin/DesktopIn questo modo, siamo entrati all'interno del Desktop.
Nota: se usi Windows, invece di / utilizza \.
Poi, possiamo installare il pacchetto di Node.js localmente:
npm install expressNoterai che verrà creata una cartella e un file: "node_modules" contiene tutti i pacchetti installati, e "package-lock.json" registra l’elenco dei pacchetti con tutte le relative informazioni.
Quando installi un pacchetto globalmente con npm, il pacchetto viene salvato in una cartella di sistema accessibile da tutti i tuoi progetti e dal terminale, anziché essere limitato a una singola cartella di un progetto.
npm install, così chiunque collaborerà allo stesso progetto (ad esempio clonandolo da GitHub) avrà tutto il necessario per farlo funzionare senza problemi.Ad esempio, possiamo installare il pacchetto nodemon che permette di riavviare automaticamente il server se nota che abbiamo eseguito modifiche al file.
Per un'istallazione globale, aggiungiamo -g all'istruzione di download:
npm install -g nodemonSe utilizzi un dispositivo Mac o Linux, allora sarà necessario avere i permessi di amministratore che si possono richiedere attraverso l'istruzione sudo:
sudo npm install -g nodemonDopo che abbiamo installato diversi pacchetti tramite npm, dobbiamo riuscire a gestirli in modo corretto. Ad esempio, è necessario aggiornarli di tanto in tanto per evitare problemi di efficienza e stabilità.
Per controllare quali pacchetti sono stati installati localmente con npm, possiamo utilizzare il seguente comando:
npm listUna volta eseguito il comando npm list, vedremo la lista dei pacchetti installati:
Se, invece, dobbiamo controllare i pacchetti installati globalmente, usiamo questa istruzione:
npm list -g --depth=0 L’opzione --depth=0 si usa per visualizzare solo i pacchetti installati globalmente, evitando di mostrare anche quelli presenti all’interno delle varie sottocartelle (come i pacchetti locali dei progetti).
Per verificare se i pacchetti installati sono aggiornati, puoi usare il comando npm outdated: ti mostrerà l’elenco di quelli che hanno una versione più recente disponibile. Se non appare nulla, significa che sono tutti già aggiornati all'ultima versione.
npm outdatedPer verificare se ci sono pacchetti globali da aggiornare, aggiungi -g al comando: npm outdated -g.
Una volta individuati quelli da aggiornare, puoi usare npm update per aggiornarli tutti, oppure npm update nome-pacchetto per aggiornare solo quello che ti interessa:
npm update
$ npm update expressAnche in questo caso, puoi utilizzare -g per aggiornare tutti i pacchetti globali:
npm update -gUtilizza sudo npm update -g in Mac o Linux.
La rimozione dei pacchetti è una parte fondamentale nella gestione di un progetto Node.js. A volte è utile disinstallare ciò che non serve più, per alleggerire il progetto o semplificarne la struttura.
Con npm si può disinstallare pacchetti sia localmente che globalmente. Per disinstallare un pacchetto, puoi usare questa istruzione:
npm uninstall expressPuoi sostituire express con qualsiasi pacchetto installato localmente. Per quelli globali, aggiungi -g prima del nome del pacchetto.