NVM – įdiekite ir tvarkykite kelias Node.js versijas sistemoje „Linux“.


Mazgo versijų tvarkyklė (trumpai NVM) yra paprastas bash scenarijus, skirtas valdyti kelias aktyvias node.js versijas jūsų Linux sistemoje. Tai leidžia įdiegti kelias node.js versijas ir peržiūrėti visas versijas, kurias galima įdiegti, ir visas įdiegtas versijas jūsų sistemoje.

Nvm taip pat palaiko konkrečios node.js versijos paleidimą ir gali parodyti kelią į vykdomąjį failą, kur jis buvo įdiegtas, ir daug daugiau.

Šiame straipsnyje paaiškinsime, kaip įdiegti Node Version Manager (NVM), kad galėtumėte valdyti kelias aktyvias node.js versijas jūsų Linux platinime.

NVM (mazgo versijų tvarkyklės) diegimas sistemoje Linux

Norėdami įdiegti arba atnaujinti nvm savo Linux platinime, galite atsisiųsti automatinio diegimo scenarijų naudodami curl arba wget komandinės eilutės įrankius, kaip parodyta.

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

Aukščiau pateiktas automatinio diegimo scenarijus klonuoja nvm saugyklą į ~/.nvm pagrindiniame kataloge ir prideda reikiamas šaltinio komandas prie apvalkalo paleisties scenarijų, pvz., ~/ .bash_profile, ~/.zshrc, ~/.profile arba ~/.bashrc, priklausomai nuo apvalkalo programos naudojami, kaip parodyta toliau pateiktoje išvestyje.

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

Baigę diegti, uždarykite esamą terminalo langą ir atidarykite naują Arba tiesiog gaukite apvalkalo profilio failą, kad įkeltumėte nvm. Pavyzdžiui, jei naudojate bash, paleiskite šią komandą:

source ~/.bashrc
OR
source ~/.profile

Tada patikrinkite, ar nvm įdiegtas jūsų sistemoje, naudodami šią komandą.

command -v nvm

nvm

Jei diegimas buvo sėkmingas, išvestis bus rodoma kaip „nvm“.

Įdiekite kelias Node.js versijas naudodami NVM

Dabar atėjo laikas išmokti naudoti Node Version Manager Linux sistemoje. Norėdami atsisiųsti, kompiliuoti ir įdiegti naujausią mazgo leidimą, paleiskite šią komandą:

nvm install node 

Atminkite, kad anksčiau pateiktoje komandoje "mazgas" yra naujausios versijos slapyvardis.

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)

Norėdami įdiegti konkrečią „mazgo“ versiją, pirmiausia nurodykite galimas mazgo versijas, tada įdiekite versiją, kaip parodyta.

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)

Įdiegę Node.js versiją naudodami nvm, sistema dabar turėtų nukreipti į Node.js ir npm versijos nvm. Galite patikrinti naudojamo mazgo ir npm dvejetainio/komandos vietą vykdydami komandą which taip:

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

Įdiegtų Node.js versijų sąrašas

Visas įdiegtas versijas galite patikrinti naudodami šią komandą:

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)

Pasirinkite projekto mazgo versiją

Čia nvm tampa įdomus. Dabar galite naudoti nvm, kad pasirinktumėte node.js versiją, kurią naudosite kiekvienam projektui, su kuriuo dirbate, atsižvelgdami į reikalavimus. Pažiūrėkime, kaip tai padaryti, kaip paaiškinta toliau.

Atidarykite kelis terminalus ir pereikite į projektų katalogus. Šiame vadove turime du projektus, esančius ~/projects/app-server ir ~/projects/test-ui, kuriems apgaulingai reikalinga mazgo versija 19.0.0 ir 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

Pavyzdžiui, jei esate įdiegę visuotinį paketą, kai aktyvi 19.0.0 versija, kai perjungiate į 20.0.0 versiją, turite iš naujo įdiegti visuotinį paketą naudodami naują versiją.

Svarbu tai, kad kelią į vykdomąjį failą, kur buvo įdiegta konkreti mazgo versija, galite peržiūrėti taip:

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

Nustatykite numatytąją Node.js versiją sistemoje Linux

Be to, norėdami rankiniu būdu nustatyti numatytąją mazgo versiją, kuri bus naudojama bet kuriame naujame apvalkale, naudokite slapyvardį „numatytasis“, kaip parodyta.

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

„Node.js“ versijos pašalinimas sistemoje „Linux“.

Norėdami pašalinti arba pašalinti Node.js versiją, išduokite šią komandą (nepamirškite pakeisti 19.0.0 versijos numeriu):

nvm uninstall 19.0.0

NVM pašalinimas iš Linux

Norėdami rankiniu būdu pašalinti nvm iš sistemos, vykdykite šias komandas:

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

Tada redaguokite ~/.bashrc (arba atitinkamą apvalkalo profilio konfigūracijos failą, kaip nurodyta aukščiau) ir pašalinkite šias konfigūracijos eilutes:

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

Norėdami gauti daugiau informacijos, žr. nvm --help arba eikite į Node Version Manager Github saugyklą: https://github.com/nvm-sh/nvm.

Tai viskas! Node Version Manager yra paprastas bash scenarijus, skirtas valdyti kelias aktyvias node.js versijas jūsų Linux sistemoje. Naudokite toliau pateiktą atsiliepimų formą, jei norite užduoti klausimų arba pasidalinti su mumis savo komentarais.