NVM - Instalirajte i upravljajte višestrukim verzijama Node.js u Linuxu


Node Version Manager (NVM ukratko) je jednostavna bash skripta za upravljanje višestrukim aktivnim verzijama node.js na vašem Linux sistemu. Omogućava vam da instalirate više verzija node.js i pregledate sve verzije dostupne za instalaciju i sve instalirane verzije na vašem sistemu.

Nvm također podržava pokretanje određene node.js verzije i može pokazati putanju do izvršnog fajla do mjesta gdje je instaliran i još mnogo toga.

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

Instaliranje NVM-a (Node Version Manager) u Linuxu

Da biste instalirali ili ažurirali nvm na vašoj Linux distribuciji, možete preuzeti skriptu za automatsku instalaciju koristeći curl ili wget alate komandne linije 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 spremište u ~/.nvm u vašem kućnom direktoriju i dodaje potrebne izvorne komande vašim skriptama za pokretanje ljuske, tj. ~/ .bash_profile, ~/.zshrc, ~/.profile ili ~/.bashrc, u zavisnosti od shell programa 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 se instalacija završi, zatvorite trenutni prozor terminala i otvorite novi Ili jednostavno izvorite datoteku profila ljuske za učitavanje nvm. Na primjer, ako koristite bash, pokrenite sljedeću naredbu:

source ~/.bashrc
OR
source ~/.profile

Zatim provjerite da li je nvm instaliran na vašem sistemu koristeći sljedeću naredbu.

command -v nvm

nvm

Prikazać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. Da preuzmete, prevedete i instalirate najnovije izdanje čvora, pokrenite sljedeću naredbu:

nvm install node 

Imajte na umu da je u gornjoj naredbi “čvor” pseudonim 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 instalirate verziju Node.js koristeći nvm, sistem bi sada trebao pokazati na Node.js i npm jake> 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

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

Ovdje nvm postaje zanimljiv. Sada možete koristiti nvm da odaberete verziju node.js koju ćete koristiti za svaki projekat na kojem radite, na osnovu zahtjeva. Pogledajmo kako to učiniti, kao što je objašnjeno u nastavku.

Otvorite više terminala i pređite u direktorije projekta. 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 varljivo .

------------ 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 aktivna verzija 19.0.0, kada pređete na verziju 20.0.0, morate ponovo instalirati globalni paket pod novom verzijom.

Važno je da možete vidjeti putanju do izvršne datoteke do mjesta gdje je instalirana određena verzija čvora 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, da ručno postavite zadanu verziju čvora koja će se koristiti u bilo kojoj novoj ljusci, koristite pseudonim “default” kao što je prikazano.

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

Deinstaliranje Node.js verzije u Linuxu

Da deinstalirate ili uklonite verziju Node.js, izdajte sljedeću naredbu (ne zaboravite zamijeniti 19.0.0 brojem verzije):

nvm uninstall 19.0.0

Deinstaliranje NVM-a u Linuxu

Da biste ručno uklonili nvm sa svog sistema, pokrenite sljedeće naredbe:

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

Zatim uredite ~/.bashrc (ili odgovarajuću konfiguracijsku datoteku profila ljuske, kao što je gore navedeno) i uklonite sljedeće konfiguracijske linije:

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šestrukim aktivnim verzijama node.js na vašem Linux sistemu. Koristite obrazac za povratne informacije ispod da postavite pitanja ili podijelite svoje komentare s nama.