NVM – Installer og administrer flere Node.js-versjoner i Linux


Node Version Manager (NVM kort sagt) er et enkelt bash-skript for å administrere flere aktive node.js-versjoner på Linux-systemet ditt. Den lar deg installere flere node.js-versjoner, og se alle versjoner som er tilgjengelige for installasjon og alle installerte versjoner på systemet ditt.

Nvm støtter også kjøring av en spesifikk node.js-versjon, og den kan vise banen til den kjørbare filen til der den ble installert, og mye mer.

I denne artikkelen vil vi forklare hvordan du installerer Node Version Manager (NVM) for å administrere flere aktive node.js-versjoner på din Linux-distribusjon.

Installere NVM (Node Version Manager) i Linux

For å installere eller oppdatere nvm på Linux-distribusjonen din, kan du laste ned autoinstalleringsskriptet ved å bruke curl eller wget kommandolinjeverktøy som vist.

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

Ovennevnte autoinstallasjonsskript kloner nvm-depotet til ~/.nvm i hjemmekatalogen din og legger til de nødvendige kildekommandoene til oppstartsskriptene for skallet, dvs. ~/ .bash_profile, ~/.zshrc, ~/.profile eller ~/.bashrc, avhengig av shell-programmet du bruker som vist i følgende utgang.

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

Når installasjonen er fullført, lukker du det nåværende terminalvinduet og åpner et nytt. Eller ganske enkelt hente inn skallprofilfilen for å laste nvm. For eksempel, hvis du bruker bash, kjør følgende kommando:

source ~/.bashrc
OR
source ~/.profile

Deretter kontrollerer du om nvm er installert på systemet ditt ved å bruke følgende kommando.

command -v nvm

nvm

Den vil vise utdata som 'nvm' hvis installasjonen var vellykket.

Installer flere Node.js-versjoner ved hjelp av NVM

Nå er det på tide å lære hvordan du bruker Node Version Manager i Linux. For å laste ned, kompilere og installere den nyeste versjonen av node, kjør følgende kommando:

nvm install node 

Merk at i kommandoen ovenfor er “node” et alias for den nyeste versjonen.

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)

For å installere en spesifikk “node”-versjon, må du først liste de tilgjengelige nodeversjonene og deretter installere versjonen som vist.

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)

Når du har installert en Node.js-versjon med nvm, skal systemet nå peke til Node.js og npm versjoner under nvm. Du kan sjekke plasseringen til noden og npm binær/kommando som brukes ved å kjøre which-kommandoen som følger:

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

Oppføring av installerte Node.js-versjoner

Du kan sjekke alle installerte versjoner med følgende kommando:

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)

Velg nodeversjon for et prosjekt

Det er her nvm blir interessant. Nå kan du bruke nvm til å velge versjonen av node.js som skal brukes for hvert prosjekt du jobber med, basert på krav. La oss se hvordan du gjør dette, som forklart nedenfor.

Åpne flere terminaler og gå inn i prosjekt-katalogene. For denne veiledningen har vi to prosjekter under ~/projects/app-server og ~/projects/test-ui som krever nodeversjon 19.0.0 og 20.0.0 villedende .

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

For eksempel, hvis du har en global pakke installert når versjon 19.0.0 er aktiv, når du bytter til versjon 20.0.0, må du installere den globale pakken på nytt under den nye versjonen.

Viktigere er at du kan se banen til den kjørbare filen til der en spesifikk nodeversjon ble installert som følger:

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

Angi standard Node.js-versjon i Linux

Videre, for å manuelt angi en standard nodeversjon som skal brukes i et hvilket som helst nytt skall, bruk aliaset “default” som vist.

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

Avinstallerer Node.js-versjonen i Linux

For å avinstallere eller fjerne en versjon av Node.js, utfør følgende kommando (ikke glem å erstatte 19.0.0 med versjonsnummeret):

nvm uninstall 19.0.0

Avinstallerer NVM i Linux

For å fjerne nvm manuelt fra systemet, kjør følgende kommandoer:

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

Deretter redigerer du ~/.bashrc (eller den aktuelle konfigurasjonsfilen for skallprofilen, som oppført ovenfor) og fjerner følgende konfigurasjonslinjer:

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

For mer informasjon, se nvm --help eller gå til Node Version Manager Github-depotet: https://github.com/nvm-sh/nvm.

Det er alt! Node Version Manager er et enkelt bash-skript for å administrere flere aktive node.js-versjoner på Linux-systemet ditt. Bruk tilbakemeldingsskjemaet nedenfor for å stille spørsmål eller dele dine kommentarer med oss.