NVM - Instalați și gestionați mai multe versiuni Node.js în Linux


Node Version Manager (NVM pe scurt) este un script bash simplu pentru a gestiona mai multe versiuni active node.js pe sistemul dvs. Linux. Vă permite să instalați mai multe versiuni node.js și să vizualizați toate versiunile disponibile pentru instalare și toate versiunile instalate pe sistemul dvs.

Nvm acceptă, de asemenea, rularea unei anumite versiuni node.js și poate afișa calea către executabilul până la locul în care a fost instalat și multe altele.

În acest articol, vom explica cum să instalați Node Version Manager (NVM) pentru a gestiona mai multe versiuni active node.js pe distribuția dvs. Linux.

Instalarea NVM (Node Version Manager) în Linux

Pentru a instala sau actualiza nvm pe distribuția dvs. Linux, puteți descărca scriptul de instalare automată folosind instrumentele curl sau wget din linia de comandă, așa cum se arată.

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

Scriptul de instalare automată de mai sus clonează depozitul nvm în ~/.nvm din directorul dvs. principal și adaugă comenzile sursă necesare la scripturile de pornire shell, adică ~/ .bash_profile, ~/.zshrc, ~/.profile sau ~/.bashrc, în funcție de programul shell pe care îl sunt utilizate așa cum se arată în următoarea ieșire.

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`:
...

Odată ce instalarea este finalizată, închideți fereastra actuală a terminalului și deschideți una nouă Sau pur și simplu obțineți fișierul de profil shell pentru a încărca nvm. De exemplu, dacă utilizați bash, rulați următoarea comandă:

source ~/.bashrc
OR
source ~/.profile

Apoi, verificați dacă nvm a fost instalat pe sistemul dvs. utilizând următoarea comandă.

command -v nvm

nvm

Va afișa rezultatul ca „nvm‘ dacă instalarea a reușit.

Instalați mai multe versiuni Node.js folosind NVM

Acum este timpul să învățați cum să utilizați Node Version Manager în Linux. Pentru a descărca, compila și instala cea mai recentă versiune a node, rulați următoarea comandă:

nvm install node 

Rețineți că în comanda de mai sus, „nod” este un alias pentru cea mai recentă versiune.

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)

Pentru a instala o anumită versiune „nod”, enumerați mai întâi versiunile de nod disponibile, apoi instalați versiunea așa cum se arată.

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)

După ce ați instalat o versiune Node.js folosind nvm, sistemul ar trebui să trimită acum către Node.js și npm versiuni sub nvm. Puteți verifica locația binarului/comenzii nodul și npm care este utilizat, rulând comanda care după cum urmează:

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

Listarea versiunilor Node.js instalate

Puteți verifica toate versiunile instalate cu următoarea comandă:

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)

Alegeți versiunea nodului pentru un proiect

Aici nvm devine interesant. Acum puteți folosi nvm pentru a alege versiunea de node.js pe care să o utilizați pentru fiecare proiect la care lucrați, în funcție de cerințe. Să vedem cum să facem acest lucru, așa cum este explicat mai jos.

Deschideți mai multe terminale și mutați-vă în directoarele proiect. Pentru acest ghid, avem două proiecte sub ~/projects/app-server și ~/projects/test-ui care necesită versiunea nodului 19.0.0 și 20.0.0 în mod înșelător .

------------ 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

De exemplu, dacă aveți un pachet global instalat când versiunea 19.0.0 este activă, atunci când treceți la versiunea 20.0.0, trebuie să reinstalați pachetul global sub noua versiune.

Important este că puteți vizualiza calea către executabilul unde a fost instalată o anumită versiune de nod, după cum urmează:

nvm which 20.0.0
nvm which 19.0.0
nvm which system  #check system-installed version of a node using “system” alias

Setați versiunea implicită Node.js în Linux

În plus, pentru a seta manual o versiune de nod implicită care să fie utilizată în orice shell nou, utilizați aliasul „implicit” așa cum se arată.

nvm alias default 20.0.0
nvm alias default system
nvm alias default 19.0.0

Dezinstalarea versiunii Node.js în Linux

Pentru a dezinstala sau a elimina o versiune de Node.js, lansați următoarea comandă (nu uitați să înlocuiți 19.0.0 cu numărul versiunii):

nvm uninstall 19.0.0

Dezinstalarea NVM în Linux

Pentru a elimina manual nvm din sistemul dvs., executați următoarele comenzi:

rm -rf "$NVM_DIR"
OR
rm -rf ~/.nvm

Apoi, editați ~/.bashrc (sau fișierul de configurare al profilului shell aplicabil, după cum este enumerat mai sus) și eliminați următoarele linii de configurare:

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

Pentru mai multe informații, consultați nvm --help sau accesați depozitul Node Version Manager Github: https://github.com/nvm-sh/nvm.

Asta e tot! Node Version Manager este un script bash simplu pentru a gestiona mai multe versiuni active node.js pe sistemul dvs. Linux. Utilizați formularul de feedback de mai jos pentru a pune întrebări sau pentru a ne împărtăși comentariile dvs.