NVM – Inštalácia a správa viacerých verzií Node.js v systéme Linux


Node Version Manager (v skratke NVM) je jednoduchý bash skript na správu viacerých aktívnych verzií node.js vo vašom systéme Linux. Umožňuje vám nainštalovať viacero verzií node.js a zobraziť všetky verzie dostupné na inštaláciu a všetky nainštalované verzie vo vašom systéme.

Nvm tiež podporuje spustenie špecifickej verzie node.js a môže ukázať cestu k spustiteľnému súboru, kam bol nainštalovaný, a mnoho ďalšieho.

V tomto článku vysvetlíme, ako nainštalovať Node Version Manager (NVM) na správu viacerých aktívnych verzií node.js vo vašej distribúcii Linuxu.

Inštalácia NVM (Node Version Manager) v systéme Linux

Ak chcete nainštalovať alebo aktualizovať nvm vo svojej distribúcii Linuxu, môžete si stiahnuť skript automatickej inštalácie pomocou nástrojov príkazového riadka curl alebo wget, ako je znázornené.

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

Vyššie uvedený skript automatickej inštalácie naklonuje úložisko nvm do ~/.nvm vo vašom domovskom adresári a pridá požadované zdrojové príkazy do spúšťacích skriptov shellu, napr. ~/ .bash_profile, ~/.zshrc, ~/.profile alebo ~/.bashrc, v závislosti od programu shell, ktorý sa používajú tak, ako je uvedené v nasledujúcom výstupe.

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

Po dokončení inštalácie zatvorte aktuálne okno terminálu a otvorte nové. Alebo jednoducho vytvorte zdrojový súbor svojho profilu shellu a načítajte nvm. Napríklad, ak používate bash, spustite nasledujúci príkaz:

source ~/.bashrc
OR
source ~/.profile

Potom pomocou nasledujúceho príkazu skontrolujte, či je vo vašom systéme nainštalovaný nvm.

command -v nvm

nvm

Ak bola inštalácia úspešná, zobrazí sa výstup ako „nvm“.

Nainštalujte viacero verzií Node.js pomocou NVM

Teraz je čas naučiť sa používať Správcu verzií uzla v systéme Linux. Ak chcete stiahnuť, skompilovať a nainštalovať najnovšie vydanie node, spustite nasledujúci príkaz:

nvm install node 

Všimnite si, že vo vyššie uvedenom príkaze je „node“ alias pre najnovšiu verziu.

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)

Ak chcete nainštalovať konkrétnu verziu „uzla“, najprv uveďte dostupné verzie uzla a potom nainštalujte verziu podľa obrázka.

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)

Po nainštalovaní verzie Node.js pomocou nvm by mal systém teraz ukazovať na Node.js a npm verzie pod nvm. Umiestnenie použitého binárneho súboru/príkazu node a npm môžete skontrolovať spustením príkazu which takto:

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

Výpis nainštalovaných verzií Node.js

Všetky nainštalované verzie môžete skontrolovať pomocou nasledujúceho príkazu:

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)

Vyberte Verzia uzla pre projekt

Tu začína byť zaujímavé nvm. Teraz môžete použiť nvm na výber verzie node.js, ktorá sa použije pre každý projekt, na ktorom pracujete, na základe požiadaviek. Pozrime sa, ako to urobiť, ako je vysvetlené nižšie.

Otvorte viacero terminálov a presuňte sa do projektových adresárov. Pre túto príručku máme dva projekty pod ~/projects/app-server a ~/projects/test-ui, ktoré klamlivo vyžadujú verziu uzla 19.0.0 a 20.0.0 .

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

Napríklad, ak máte nainštalovaný globálny balík, keď je aktívna verzia 19.0.0, keď prejdete na verziu 20.0.0, musíte globálny balík preinštalovať pod novou verziou.

Dôležité je, že cestu k spustiteľnému súboru, kde bola nainštalovaná konkrétna verzia uzla, môžete zobraziť takto:

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

Nastavte predvolenú verziu Node.js v systéme Linux

Okrem toho, ak chcete manuálne nastaviť predvolenú verziu uzla, ktorá sa má použiť v akomkoľvek novom prostredí, použite alias „default“, ako je znázornené.

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

Odinštalovanie verzie Node.js v systéme Linux

Ak chcete odinštalovať alebo odstrániť verziu Node.js, zadajte nasledujúci príkaz (nezabudnite nahradiť 19.0.0 číslom verzie):

nvm uninstall 19.0.0

Odinštalovanie NVM v systéme Linux

Ak chcete manuálne odstrániť nvm zo systému, spustite nasledujúce príkazy:

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

Ďalej upravte ~/.bashrc (alebo príslušný konfiguračný súbor shell profilu, ako je uvedené vyššie) a odstráňte nasledujúce konfiguračné riadky:

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

Ďalšie informácie nájdete v časti nvm --help alebo prejdite do úložiska Node Version Manager Github: https://github.com/nvm-sh/nvm.

To je všetko! Node Version Manager je jednoduchý bash skript na správu viacerých aktívnych verzií node.js vo vašom systéme Linux. Pomocou formulára spätnej väzby nižšie môžete položiť otázky alebo sa s nami podeliť o svoje pripomienky.