Gestore Versione Nodo (NVM in breve) è uno script bash semplice per gestire più versioni attive di node.js sul tuo sistema Linux. Ti consente di installare più versioni di node.js e 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 ancora.
In questo articolo, spiegheremo come installare Gestore Versione Nodo (NVM) per gestire più versioni attive di node.js sulla tua distribuzione Linux.
Indice
Installare NVM (Node Version Manager) in Linux
Per installare o aggiornare nvm sulla tua distribuzione Linux, puoi scaricare lo script di auto-installazione utilizzando gli strumenti da 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 auto-installazione sopra clona il repository nvm nella directory ~/.nvm
nella tua home e aggiunge i comandi di sorgente richiesti ai tuoi script di avvio della shell, ad esempio ~/.bash_profile, ~/.zshrc, ~/.profile, o ~/.bashrc, a seconda del programma di shell che stai 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 tua finestra terminale corrente e aprine una nuova, oppure carica semplicemente il tuo file di profilo della shell per caricare nvm. Ad esempio, se stai usando bash, esegui il seguente comando:
$ source ~/.bashrc OR $ source ~/.profile
Successivamente, verifica se nvm è stato installato nel tuo sistema utilizzando il seguente comando.
# command -v nvm nvm
Mostrerà l’output come ‘nvm‘ se l’installazione è stata completata con successo.
Installare Diverse Versioni di Node.js Utilizzando NVM
Ora è il momento di imparare come utilizzare il Gestore delle Versioni di Node in Linux. Per scaricare, compilare e installare l’ultima release di node, esegui il seguente comando:
# nvm install node
Nota che nel comando sopra, “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 specifica versione di “node”, elenca prima le versioni di node disponibili e poi 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)
Una volta installata una versione di Node.js utilizzando nvm, il sistema dovrebbe ora puntare alle versioni di Node.js e npm sotto nvm. È possibile controllare la posizione del binario/comando node e npm in uso eseguendo il comando which 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 di Node.js installate
È possibile 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)
Scegliere la Versione di Node per un Progetto
Qui è dove nvm diventa interessante. Ora è possibile utilizzare nvm per scegliere la versione di node.js da utilizzare per ciascun progetto su cui si sta lavorando, in base ai requisiti. Vediamo come fare, come spiegato di seguito.
Aprire più terminali e spostarsi nelle directory del progetto. Per questa guida, abbiamo due progetti sotto ~/projects/app-server
e ~/projects/test-ui
che richiedono la versione di node 19.0.0 e 20.0.0 rispettivamente.
------------ 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 si dispone di un pacchetto globale installato quando è attiva la versione 19.0.0, quando si passa alla versione 20.0.0, è necessario reinstallare il pacchetto globale sotto la nuova versione.
È importante notare che è possibile visualizzare il percorso dell’eseguibile in cui è stata installata una versione specifica di node 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
Impostare la Versione Predefinita di Node.js in Linux
Inoltre, per impostare manualmente una versione predefinita di node 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
.nvmrc
initialization file in your project root directory (or any parent directory) and add a node version number or any other flags or usage options that nvm understands, in it. Then use some of the commands we have just looked at above to operate with the specified version in the file.Disinstallare la Versione di Node.js in Linux
Per disinstallare o rimuovere una versione di Node.js, eseguire il seguente comando (non dimenticare di sostituire 19.0.0 con il numero di versione):
# nvm uninstall 19.0.0
Disinstallare NVM in Linux
Per rimuovere nvm manualmente dal tuo sistema, eseguire i seguenti comandi:
# rm -rf "$NVM_DIR" OR # rm -rf ~/.nvm
In seguito, modificare ~/.bashrc (o il file di configurazione del profilo della shell applicabile, come indicato sopra) e rimuovere 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, consultare nvm --help
o visitare il repository di Node Version Manager Github: https://github.com/nvm-sh/nvm.
Ecco tutto! Node Version Manager è uno script bash semplice per gestire più versioni attive di node.js sul tuo sistema Linux. Utilizza il modulo di feedback qui sotto per fare domande o condividere i tuoi commenti con noi.
Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/