NVM: installa e gestisci più versioni di Node.js in Linux
Node Version Manager (NVM in breve) è un semplice script bash per gestire più versioni node.js attive sul tuo sistema Linux. Ti consente di installare più versioni di node.js e di visualizzare tutte le versioni disponibili per l'installazione e tutte le versioni installate sul tuo sistema.
Nvm supporta anche l'esecuzione di una versione specifica di node.js e può mostrare il percorso dell'eseguibile dove è stato installato e molto altro.
In questo articolo, spiegheremo come installare Node Version Manager (NVM) per gestire più versioni attive di node.js sulla tua distribuzione Linux.
Installazione di NVM (Node Version Manager) in Linux
Per installare o aggiornare nvm sulla tua distribuzione Linux, puoi scaricare lo script di installazione automatica utilizzando gli strumenti a riga di comando curl o wget come mostrato.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
OR
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
Lo script di installazione automatica sopra clona il repository nvm in ~/.nvm
nella tua directory home e aggiunge i comandi sorgente richiesti agli script di avvio della shell, ad esempio ~/ .bash_profile, ~/.zshrc, ~/.profile o ~/.bashrc, a seconda del programma shell utilizzato stanno utilizzando come mostrato nell'output seguente.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15916 100 15916 0 0 34227 0 --:--:-- --:--:-- --:--:-- 34301
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Enumerating objects: 359, done.
remote: Counting objects: 100% (359/359), done.
remote: Compressing objects: 100% (305/305), done.
remote: Total 359 (delta 40), reused 168 (delta 28), pack-reused 0
Receiving objects: 100% (359/359), 219.46 KiB | 6.86 MiB/s, done.
Resolving deltas: 100% (40/40), done.
* (HEAD detached at FETCH_HEAD)
master
=> Compressing and cleaning up git repository
=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:
...
Una volta completata l'installazione, chiudi la finestra del terminale corrente e aprine una nuova. In alternativa, esegui semplicemente il file del profilo della shell per caricare nvm. Ad esempio, se stai utilizzando bash, esegui il comando seguente:
source ~/.bashrc
OR
source ~/.profile
Successivamente, verifica se nvm è stato installato sul tuo sistema utilizzando il seguente comando.
command -v nvm
nvm
Mostrerà l'output come "nvm" se l'installazione ha avuto esito positivo.
Installa più versioni di Node.js utilizzando NVM
Ora è il momento di imparare come utilizzare Node Version Manager in Linux. Per scaricare, compilare e installare l'ultima versione di node, esegui il seguente comando:
nvm install node
Tieni presente che nel comando precedente, "node" è un alias per l'ultima versione.
Downloading and installing node v20.0.0...
Downloading https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.0.0 (npm v9.6.4)
Creating default alias: default -> node (-> v20.0.0)
Per installare una versione specifica del "nodo", elenca prima le versioni del nodo disponibili, quindi installa la versione come mostrato.
nvm ls-remote
nvm install 19.0.0
Downloading and installing node v19.0.0...
Downloading https://nodejs.org/dist/v19.0.0/node-v19.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v19.0.0 (npm v8.19.2)
Dopo aver installato una versione di Node.js utilizzando nvm, il sistema ora dovrebbe puntare a Node.js e npm versioni sotto nvm. Puoi verificare la posizione del comando/binario node e npm utilizzato eseguendo il comando quale come segue:
which node
/root/.nvm/versions/node/v20.0.0/bin/node
# which npm
/root/.nvm/versions/node/v20.0.0/bin/npm
# node -v
v20.0.0
# npm -v
9.6.4
Elenco delle versioni Node.js installate
Puoi controllare tutte le versioni installate con il seguente comando:
nvm ls
-> v19.0.0
v20.0.0
system
default -> node (-> v20.0.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v20.0.0) (default)
stable -> 20.0 (-> v20.0.0) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.0 (-> N/A)
lts/hydrogen -> v18.16.0 (-> N/A)
Scegli la versione del nodo per un progetto
È qui che nvm diventa interessante. Ora puoi utilizzare nvm per scegliere la versione di node.js da utilizzare per ogni progetto su cui stai lavorando, in base ai requisiti. Vediamo come fare, come spiegato di seguito.
Apri più terminali e spostati nelle directory del progetto. Per questa guida, abbiamo due progetti in ~/projects/app-server
e ~/projects/test-ui
che richiedono ingannevolmente la versione 19.0.0 e 20.0.0 del nodo .
------------ Project 1 ------------
cd ~/projects/api-server
nvm use 19.0.0
node -v
------------ Project 2 ------------
cd ~/projects/test-ui
nvm use 20.0.0
node -v
Ad esempio, se hai installato un pacchetto globale quando è attiva la versione 19.0.0, quando passi alla versione 20.0.0, dovrai reinstallare il pacchetto globale con la nuova versione.
È importante sottolineare che è possibile visualizzare il percorso dell'eseguibile in cui è stata installata una versione specifica del nodo come segue:
nvm which 20.0.0
nvm which 19.0.0
nvm which system #check system-installed version of a node using “system” alias
Imposta la versione predefinita di Node.js in Linux
Inoltre, per impostare manualmente una versione del nodo predefinita da utilizzare in qualsiasi nuova shell, utilizzare l'alias "default" come mostrato.
nvm alias default 20.0.0
nvm alias default system
nvm alias default 19.0.0
Disinstallazione della versione Node.js in Linux
Per disinstallare o rimuovere una versione di Node.js, esegui il seguente comando (non dimenticare di sostituire 19.0.0 con il numero di versione):
nvm uninstall 19.0.0
Disinstallazione di NVM in Linux
Per rimuovere nvm manualmente dal tuo sistema, esegui i seguenti comandi:
rm -rf "$NVM_DIR"
OR
rm -rf ~/.nvm
Successivamente, modifica ~/.bashrc (o il file di configurazione del profilo shell applicabile, come elencato sopra) e rimuovi le seguenti righe di configurazione:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion
Per ulteriori informazioni, consulta nvm --help
o vai al repository Node Version Manager Github: https://github.com/nvm-sh/nvm.
È tutto! Node Version Manager è un semplice script bash per gestire più versioni attive di node.js sul tuo sistema Linux. Utilizza il modulo di feedback qui sotto per porre domande o condividere i tuoi commenti con noi.