NVM - Instalacija i upravljanje višestrukim verzijama Node.js u Linuxu


Node Version Manager (ukratko NVM) je jednostavna bash skripta za upravljanje višestrukim aktivnim verzijama node.js na vašem Linux sustavu. Omogućuje vam instaliranje više verzija node.js i pregled svih verzija dostupnih za instalaciju i svih instaliranih verzija na vašem sustavu.

Nvm također podržava pokretanje određene verzije node.js i može pokazati put do izvršne datoteke do mjesta gdje je instalirana i još mnogo toga.

U ovom ćemo članku objasniti kako instalirati Node Version Manager (NVM) za upravljanje više aktivnih verzija node.js na vašoj Linux distribuciji.

Instaliranje NVM (Node Version Manager) u Linuxu

Da biste instalirali ili ažurirali nvm na svojoj distribuciji Linuxa, možete preuzeti skriptu za automatsku instalaciju pomoću alata naredbenog retka curl ili wget kao što je prikazano.

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

Gornja skripta za automatsku instalaciju klonira nvm repozitorij u ~/.nvm u vašem početnom direktoriju i dodaje potrebne izvorne naredbe vašim skriptama za pokretanje ljuske, npr. ~/ .bash_profile, ~/.zshrc, ~/.profile ili ~/.bashrc, ovisno o programu ljuske koji koriste kao što je prikazano u sljedećem izlazu.

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

Kada instalacija završi, zatvorite trenutni prozor terminala i otvorite novi Ili jednostavno pronađite svoju datoteku profila ljuske za učitavanje nvm. Na primjer, ako koristite bash, pokrenite sljedeću naredbu:

source ~/.bashrc
OR
source ~/.profile

Zatim provjerite je li nvm instaliran na vašem sustavu pomoću sljedeće naredbe.

command -v nvm

nvm

Prikazat će izlaz kao 'nvm' ako je instalacija bila uspješna.

Instalirajte više verzija Node.js koristeći NVM

Sada je vrijeme da naučite kako koristiti Node Version Manager u Linuxu. Za preuzimanje, kompajliranje i instaliranje najnovijeg izdanja node, pokrenite sljedeću naredbu:

nvm install node 

Imajte na umu da je u gornjoj naredbi “čvor” alias za najnoviju verziju.

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)

Da biste instalirali određenu verziju “čvora”, prvo navedite dostupne verzije čvora, a zatim instalirajte verziju kao što je prikazano.

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)

Nakon što ste instalirali verziju Node.js koristeći nvm, sustav bi sada trebao usmjeravati na Node.js i npm verzije pod nvm. Možete provjeriti lokaciju čvora i npm binarne/naredbe koja se koristi pokretanjem naredbe which na sljedeći način:

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

Ispis instaliranih verzija Node.js

Sve instalirane verzije možete provjeriti sljedećom naredbom:

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)

Odaberite verziju čvora za projekt

Ovdje nvm postaje zanimljiv. Sada možete koristiti nvm za odabir verzije node.js za korištenje za svaki projekt na kojem radite, na temelju zahtjeva. Pogledajmo kako to učiniti, kao što je objašnjeno u nastavku.

Otvorite više terminala i prijeđite u direktorije projekata. Za ovaj vodič imamo dva projekta pod ~/projects/app-server i ~/projects/test-ui koji zahtijevaju verziju čvora 19.0.0 i 20.0.0 lažno .

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

Na primjer, ako imate instaliran globalni paket kada je verzija 19.0.0 aktivna, kada prijeđete na verziju 20.0.0, trebate ponovno instalirati globalni paket pod novom verzijom.

Važno je da možete vidjeti put do izvršne datoteke do mjesta gdje je određena verzija čvora instalirana na sljedeći način:

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

Postavite zadanu verziju Node.js u Linuxu

Nadalje, za ručno postavljanje zadane verzije čvora koja će se koristiti u bilo kojoj novoj ljusci, koristite alias “default” kao što je prikazano.

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

Deinstaliranje verzije Node.js u Linuxu

Za deinstalaciju ili uklanjanje verzije Node.js izdajte sljedeću naredbu (ne zaboravite zamijeniti 19.0.0 brojem verzije):

nvm uninstall 19.0.0

Deinstaliranje NVM-a u Linuxu

Za ručno uklanjanje nvm iz vašeg sustava, pokrenite sljedeće naredbe:

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

Zatim uredite ~/.bashrc (ili primjenjivu datoteku konfiguracije profila ljuske, kao što je gore navedeno) i uklonite sljedeće retke konfiguracije:

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

Za više informacija pogledajte nvm --help ili idite na spremište Node Version Manager Github: https://github.com/nvm-sh/nvm.

To je sve! Node Version Manager je jednostavna bash skripta za upravljanje više aktivnih verzija node.js na vašem Linux sustavu. Koristite obrazac za povratne informacije u nastavku da postavite pitanja ili podijelite svoje komentare s nama.