Come abilitare e utilizzare npm (Node.js Package Manager) in ServBay
npm
(Node Package Manager) è lo strumento ufficiale di gestione dei pacchetti per Node.js e rappresenta una delle più grandi librerie di software open source al mondo. Per gli sviluppatori Node.js, npm
è uno strumento irrinunciabile che permette di installare, condividere e gestire con facilità le dipendenze dei progetti. Grazie all'ambiente integrato offerto da ServBay, puoi iniziare rapidamente a lavorare con npm
.
Prerequisiti
Prima di poter utilizzare npm
, è necessario installare Node.js in ServBay.
- Apri l'applicazione ServBay.
- Vai al pannello “Packages” (Pacchetti).
- Trova il pacchetto Node.js e assicurati che sia installato e in esecuzione.
ServBay configurerà automaticamente l'ambiente Node.js, che include già npm
.
Verifica che npm sia installato e disponibile
L'installazione di Node.js tramite ServBay include già npm
, che risulta abilitato di default. Puoi rapidamente verificare da terminale se npm
è correttamente installato e accessibile.
Apri la tua applicazione terminale (ad esempio il Terminale su macOS).
Inserisci il seguente comando per visualizzare la versione di
npm
:bashnpm -v
1Se il comando viene eseguito con successo e appare un numero di versione (ad esempio
10.2.0
o superiore), significa chenpm
è stato correttamente installato ed è subito utilizzabile nell'ambiente attuale.bash# Output di esempio 10.2.0
1
2Se invece vedi un errore come “command not found: npm”, assicurati di aver installato il pacchetto Node.js tramite ServBay e che le variabili d’ambiente di ServBay siano correttamente caricate (in genere riavviare il terminale o il computer risolve eventuali problemi di ambiente).
Aggiornare npm
Sebbene la versione di Node.js installata tramite ServBay includa di solito una versione stabile di npm
, quest’ultimo viene aggiornato indipendentemente da Node.js. Per sfruttare le ultime funzionalità e correzioni, puoi aggiornare npm
direttamente:
npm install -g npm@latest
Questo comando installerà la versione più recente di npm
globalmente. L'opzione -g
indica una installazione globale, così potrai utilizzare il nuovo comando npm
da qualsiasi posizione.
Dopo l’aggiornamento, esegui nuovamente npm -v
per verificare la versione:
npm -v
Funzionalità principali e usi comuni di npm
La potenza di npm
risiede nel suo vasto ecosistema open source e nella gestione semplificata delle dipendenze. Di seguito alcuni scenari e comandi ai quali farai più spesso ricorso durante lo sviluppo con npm
:
Inizializzare un nuovo progetto Node.js
Se vuoi iniziare un nuovo progetto Node.js in una cartella vuota, usa il comando npm init
per creare un file package.json
. Questo file è il cuore del progetto: contiene i metadati, le dipendenze e gli script eseguibili.
cd /Applications/ServBay/www/my-new-project.servbay.demo
npm init
2
npm init
ti guiderà attraverso una serie di domande (nome, versione, descrizione, file principale, ecc.). Puoi anche usare npm init -y
per generare velocemente un file package.json
predefinito.
Installazione delle dipendenze di progetto
Nella cartella principale del progetto (dove si trova il file package.json
), puoi installare tutte le dipendenze richieste dal progetto con il comando npm install
.
cd /Applications/ServBay/www/my-project.servbay.demo
npm install
2
Questo comando leggerà i campi dependencies
e devDependencies
del file package.json
e scaricherà i moduli necessari all'interno della cartella node_modules
.
Aggiungere nuove dipendenze
Quando hai bisogno di aggiungere una nuova libreria o framework al tuo progetto, usa npm install <nome-pacchetto>
.
# Installa una dipendenza di runtime, ad esempio Express
npm install express
# Installa una dipendenza di sviluppo, ad esempio Mocha per i test
npm install mocha --save-dev
2
3
4
5
Di default, npm install <nome-pacchetto>
installa il pacchetto nella cartella node_modules
e aggiorna il campo dependencies
nel tuo package.json
. Con l'opzione --save-dev
, il pacchetto viene invece aggiunto a devDependencies
(utile per strumenti di sviluppo, test o build).
Rimuovere una dipendenza
Se non hai più bisogno di una dipendenza, puoi rimuoverla con:
npm uninstall express
Il comando eliminerà il pacchetto dalla cartella node_modules
e aggiornerà il tuo file package.json
.
Aggiornare le dipendenze del progetto
Per assicurarti che le versioni delle dipendenze siano le più aggiornate possibili secondo i vincoli indicati in package.json
, usa:
npm update
Questo comando controlla i pacchetti installati nella cartella node_modules
e li aggiorna alla versione più recente compatibile.
Uso degli script npm (Scripts)
Il campo scripts
nel file package.json
consente di definire comandi personalizzati da eseguire in linea di comando. È un modo efficace per automatizzare attività ricorrenti come l’avvio di un server di sviluppo, lanciare i test o eseguire la build dell’applicazione.
Esempio di sezione scripts
in un file package.json
:
{
"name": "my-project",
"version": "1.0.0",
"scripts": {
"start": "node index.js",
"test": "mocha test/**/*.js",
"build": "webpack --config webpack.config.js"
},
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"mocha": "^10.2.0",
"webpack": "^5.89.0"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Ora puoi eseguire questi script direttamente dal terminale con il comando npm run <nome-script>
:
# Avvia l’applicazione
npm start
# Esegue i test
npm test
# Esegue la build
npm run build
2
3
4
5
6
7
8
Nota: per alcuni nomi di script particolari come start
, test
, install
, restart
, stop
, puoi omettere “run” e digitare direttamente comandi come npm start
o npm test
.
Riepilogo comandi npm più usati
Oltre agli usi principali visti sopra, ecco altri comandi npm particolarmente utili:
Installare pacchetti globalmente: per installare strumenti CLI utilizzabili ovunque.
bashnpm install -g <nome-pacchetto> # Ad esempio, per installare npx (spesso fornito insieme a Node.js) npm install -g npx # Ad esempio, per installare nodemon, utile per il riavvio automatico durante lo sviluppo npm install -g nodemon
1
2
3
4
5Eseguire comandi temporanei (npx):
npx
(incluso in npm 5.2+), consente di eseguire file binari nella cartellanode_modules/.bin
o di scaricare ed eseguire un comando di un pacchetto senza installarlo globalmente.bash# Crea rapidamente una nuova app React senza installare globalmente create-react-app npx create-react-app my-react-app
1
2Visualizzare i pacchetti installati globalmente: elenca tutti i pacchetti globali e le relative versioni.
bashnpm list -g --depth=0
1Pulire la cache npm: se hai errori all’installazione, potrebbe dipendere dalla cache; ripulirla spesso risolve.
bashnpm cache clean --force
1Visualizzare informazioni su un pacchetto: mostra dettagli, versioni disponibili, dipendenze, repository e altro.
bashnpm view <nome-pacchetto>
1Cercare pacchetti: cerca i pacchetti nel registry npm.
bashnpm search <parola-chiave>
1
Risoluzione dei problemi
npm command not found
: assicurati di aver installato il pacchetto Node.js tramite ServBay e che la sessione del terminale abbia accesso al percorso di Node.js e npm. Riavviare il terminale o il computer in genere risolve problemi di percorso.- Errore durante l’installazione delle dipendenze: verifica la connessione di rete. In alcuni ambienti aziendali, un proxy può influenzare l’installazione; in tal caso, configura il proxy di npm. Se necessario, esegui una pulizia della cache (
npm cache clean --force
) e riprova. - Problemi di permessi: su macOS, l’installazione globale (
npm install -g
) può in alcuni casi sollevare errori di permessi. Si consiglia l'uso di Node Version Manager (nvm) o di assicurarsi che ServBay sia configurato correttamente e usi i percorsi appropriati, evitando l'uso diretto disudo
per installazioni globali, il quale potrebbe causare problemi di sicurezza e gestione. Solitamente, la versione di Node.js fornita da ServBay gestisce già i permessi nella propria directory di installazione.
Conclusioni
Utilizzando ServBay avrai subito a disposizione un ambiente di sviluppo Node.js ricco di funzionalità in locale, potendo gestire pacchetti e sviluppare progetti sfruttando tutta la potenza di npm
. Apprendere le funzionalità essenziali e i comandi più utilizzati di npm
aumenterà significativamente la tua produttività. Con l'avanzare delle tue competenze nell’ecosistema Node.js, npm
diventerà un compagno indispensabile nel tuo workflow.