Come usare npm su Ubuntu: Guida all’installazione, ai comandi base e alla risoluzione dei problemi

.## 1. Introduzione

目次

Perché usare npm su Ubuntu

Uno degli strumenti essenziali per lo sviluppo sia frontend che backend è npm (Node Package Manager). npm è ampiamente utilizzato come strumento di gestione dei pacchetti per Node.js, consentendo agli sviluppatori di installare e gestire facilmente librerie e strumenti JavaScript.

Usando npm su Ubuntu, puoi sfruttare le prestazioni leggere di Linux e la gestione flessibile dei pacchetti, migliorando significativamente l’efficienza dello sviluppo. Ubuntu è una distribuzione supportata da una vasta community di sviluppatori ed è ampiamente usata per tutto, dalle operazioni server agli ambienti di sviluppo locali.

In particolare, quando si lavora con framework basati su Node.js come Vue.js, React e Next.js, la gestione dei pacchetti con npm è l’approccio standard. Configurare questi strumenti su Ubuntu ti permette di creare un ambiente di sviluppo stabile con meno problemi rispetto a Windows o macOS.

Scopo di questo articolo

Questo articolo fornisce una guida passo‑passo per installare npm su Ubuntu e padroneggiarne l’uso di base. È particolarmente destinato ai seguenti lettori:

  • Sviluppatori nuovi a Ubuntu
  • Chi ha difficoltà con l’installazione di Node.js o npm
  • Chiunque voglia imparare npm in modo strutturato

Vengono presentati più metodi di installazione, con le relative caratteristiche, vantaggi e svantaggi. Inoltre, la guida copre errori comuni, suggerimenti di risoluzione e comandi utili per utilizzare npm senza intoppi su Ubuntu.

2. Installare Node.js e npm su Ubuntu

Per usare npm su Ubuntu, è necessario prima installare Node.js. Poiché npm è incluso in Node.js, l’installazione di Node.js rende automaticamente disponibile npm.

Ecco tre metodi principali per installare Node.js e npm su Ubuntu. Ogni metodo ha le proprie caratteristiche, quindi è importante scegliere quello più adatto al tuo stile di sviluppo e alle tue esigenze.

Metodo 1: Utilizzare il repository ufficiale di Ubuntu

Passaggi

Node.js è disponibile nei repository standard di Ubuntu. Questo è l’approccio più semplice e adatto ai principianti.

sudo apt update
sudo apt install nodejs npm

Dopo l’installazione, è possibile verificare le versioni con i seguenti comandi:

node -v
npm -v

Vantaggi

  • Comandi semplici e facili da comprendere
  • Versioni stabili fornite da Ubuntu

Svantaggi

  • Le versioni di Node.js e npm sono spesso obsolete, quindi le ultime funzionalità potrebbero non essere disponibili

Metodo 2: Utilizzare il PPA NodeSource

Utilizzando il repository NodeSource, che segue da vicino il supporto ufficiale di Node.js, è possibile installare versioni più recenti di Node.js e npm.

Passaggi (Esempio: Installare Node.js 18.x)

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

npm viene installato automaticamente insieme a Node.js.

Vantaggi

  • Accesso a versioni relativamente nuove e stabili
  • Installazione semplice con buona compatibilità su Ubuntu

Svantaggi

  • Come per altri PPA, potrebbe essere necessario gestire le dipendenze

Metodo 3: Utilizzare nvm (Node Version Manager)

Se desideri passare tra più versioni di Node.js, usare nvm è l’opzione più flessibile e potente.

Passaggi

Per prima cosa, installa nvm:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Quindi ricarica la tua shell e installa Node.js usando nvm:

source ~/.bashrc  # or ~/.zshrc
nvm install 18
nvm use 18

npm viene installato automaticamente insieme a Node.js.

Vantaggi

  • Passare liberamente tra versioni di Node.js
  • Impostare versioni appropriate per progetto
  • Sicuro, poiché non influisce sul sistema a livello globale

Svantaggi

  • Configurazione leggermente più complessa rispetto ad altri metodi
  • Richiede la modifica dei file di configurazione della shell

Quale metodo dovresti scegliere?

MethodDifficultyVersion FreshnessFlexibilityRecommended For
Official Repository★☆☆△ (Older)×Beginners, first-time users
NodeSource★★☆○ (Relatively new)General developers
nvm★★★◎ (Freely selectable)Advanced users, multi-project workflows

In generale, nvm è l’opzione più consigliata per lo sviluppo a lungo termine con npm su Ubuntu. Tuttavia, se desideri una configurazione rapida e semplice, utilizzare il PPA di NodeSource è anche una scelta solida.

3. Uso base di npm

Una volta che Node.js e npm sono installati su Ubuntu, puoi iniziare a gestire i pacchetti con npm. npm è uno strumento potente per installare, aggiornare e rimuovere pacchetti JavaScript.

Questa sezione introduce i comandi npm più comunemente usati e le operazioni di base.

Installazione dei pacchetti

Installazione locale

I pacchetti utilizzati solo all’interno di un progetto specifico dovrebbero essere installati localmente. Questo è l’approccio standard. I pacchetti vengono installati nella directory node_modules e registrati in package.json.

npm install package-name

Esempio: Installazione di axios

npm install axios

Solo gli script all’interno dello stesso progetto possono utilizzare i pacchetti installati localmente.

Installazione globale

Gli strumenti utilizzati a livello di sistema, come le utility CLI, dovrebbero essere installati globalmente.

npm install -g package-name

Esempio: Installazione di http-server globalmente

sudo npm install -g http-server

Su Ubuntu, l’uso di -g può richiedere sudo.

Disinstallazione dei pacchetti

Rimozione dei pacchetti locali

npm uninstall package-name

Rimozione dei pacchetti globali

sudo npm uninstall -g package-name

Aggiornamento dei pacchetti

Aggiornamento di un pacchetto specifico

npm update package-name

Aggiornamento di tutte le dipendenze

npm update

Gli aggiornamenti vengono applicati entro gli intervalli di versione specificati in package.json, quindi presta attenzione ai vincoli di versione.

Installazione delle dipendenze di sviluppo (–save-dev)

I pacchetti destinati solo allo sviluppo, come gli strumenti di test o di build, dovrebbero essere installati usando l’opzione --save-dev.

npm install --save-dev package-name

Esempio: Installazione di jest come dipendenza di sviluppo

npm install --save-dev jest

Questo registra il pacchetto sotto devDependencies in package.json.

Elenco dei pacchetti installati

Elenco dei pacchetti locali

npm list

Elenco dei pacchetti globali

npm list -g --depth=0

Usare --depth=0 mostra solo i pacchetti di livello superiore, rendendo l’output più facile da leggere.

Gestione delle dipendenze con package.json

Il file package.json è un componente fondamentale dei progetti basati su npm. Registra i nomi dei pacchetti, le versioni, gli script e la configurazione complessiva del progetto.

Puoi crearlo usando:

npm init

Per una configurazione semplificata con valori predefiniti:

npm init -y

4. Problemi comuni e soluzioni

Quando usi npm su Ubuntu, potresti incontrare errori o comportamenti inattesi. Questa sezione introduce i problemi comuni e come risolverli.

Errori di permessi

Sintomo

EACCES: permission denied

Causa

Ciò si verifica quando l’utente corrente non ha i permessi di scrittura per la directory in cui npm sta tentando di installare i pacchetti. Su Ubuntu, scrivere in directory di sistema come /usr/lib/node_modules richiede sudo.

Soluzione

  • Esegui con sudo :
    sudo npm install -g package-name
    
  • Oppure cambia la directory di installazione globale in un percorso di proprietà dell’utente:
    mkdir ~/.npm-global
    npm config set prefix '~/.npm-global'
    

Aggiungi quanto segue a ~/.bashrc o ~/.profile:

export PATH="$HOME/.npm-global/bin:$PATH"

Applica le modifiche:

source ~/.bashrc

Comando npm non trovato

Sintomo

command not found: npm

Causa

  • Installazione di Node.js o npm fallita
  • La variabile d’ambiente PATH non è configurata

Soluzione

Verifica il percorso:

which npm

Se non viene restituito nulla, reinstalla o verifica le impostazioni di PATH. Se usi nvm, assicurati che il codice di inizializzazione esista nel file di configurazione della tua shell:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Fallimenti di installazione dei pacchetti o conflitti di versione

Sintomi

  • Conflitti di versione durante l’installazione di un pacchetto
  • Numerosi avvisi durante npm install

Soluzioni

npm install package-name@latest
npm ls package-name
npm install --legacy-peer-deps
rm -rf node_modules package-lock.json
npm install

Comandi di Debug Utili

  • npm doctor
    npm doctor
    
  • npm audit
    npm audit
    npm audit fix
    

5. Domande Frequenti (FAQ)

Q1. Come posso aggiornare npm all’ultima versione su Ubuntu?

A1.

sudo npm install -g npm@latest

Se stai usando nvm, sudo non è necessario.

Q2. Qual è la differenza tra installazione globale e locale?

A2.

  • Installazione Locale : Dipendenze specifiche del progetto memorizzate in node_modules
  • Installazione Globale : Strumenti CLI a livello di sistema, spesso richiedono sudo

Q3. Quali sono i vantaggi dell’utilizzo di nvm?

A3.

nvm ti permette di passare tra più versioni di Node.js in modo sicuro ed efficiente, rendendolo ideale per lo sviluppo multi-progetto.

Q4. Cosa devo fare se le dipendenze npm si rompono?

A4.

rm -rf node_modules package-lock.json
npm install

Q5. I messaggi npm WARN e audit sono un problema?

A5.

Gli avvisi non sono fatali ma indicano potenziali problemi. Per gli avvisi legati alla sicurezza, puoi provare:

npm audit fix

Q6. Cosa posso costruire con npm su Ubuntu?

A6.

  • Framework frontend (React, Vue, Svelte)
  • Generatori di siti statici (Next.js, Nuxt)
  • Applicazioni backend (Express, NestJS)
  • Strumenti CLI
  • Ambienti di test

6. Conclusione: Padroneggia npm su Ubuntu

Questo articolo ha coperto le basi dell’installazione e dell’uso di npm su Ubuntu, dalla configurazione alla risoluzione dei problemi.

Il passo più importante è sperimentare direttamente. Eseguendo i comandi e comprendendo i messaggi di errore, approfondirai costantemente le tue competenze da sviluppatore.

Questo conclude la guida completa all’uso di npm su Ubuntu. Speriamo che ti aiuti a creare un ambiente di sviluppo più efficiente e potente.