Zoeken op website

NVM - Installeer en beheer meerdere Node.js-versies in Linux


Node Version Manager (kortweg NVM) is een eenvoudig bash-script om meerdere actieve node.js-versies op je Linux-systeem te beheren. Hiermee kunt u meerdere node.js-versies installeren en alle versies bekijken die beschikbaar zijn voor installatie en alle geïnstalleerde versies op uw systeem.

Nvm ondersteunt ook het uitvoeren van een specifieke node.js versie en kan het pad tonen naar het uitvoerbare bestand waar het is geïnstalleerd, en nog veel meer.

In dit artikel leggen we uit hoe u Node Version Manager (NVM) installeert om meerdere actieve node.js versies op uw Linux-distributie te beheren.

NVM (Node Version Manager) installeren onder Linux

Om nvm op uw Linux-distributie te installeren of bij te werken, kunt u het automatische installatiescript downloaden met de opdrachtregelprogramma's curl of wget, zoals weergegeven.

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

Het bovenstaande automatische installatiescript kloont de nvm repository naar ~/.nvm in uw thuismap en voegt de vereiste bronopdrachten toe aan uw shell-opstartscripts, d.w.z. ~/ .bash_profile, ~/.zshrc, ~/.profile of ~/.bashrc, afhankelijk van het shellprogramma dat u gebruikt gebruiken, zoals weergegeven in de volgende uitvoer.

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

Zodra de installatie is voltooid, sluit u uw huidige terminalvenster en opent u een nieuw venster. Of u hoeft alleen maar uw shellprofielbestand te sourcen om nvm te laden. Als u bijvoorbeeld bash gebruikt, voert u de volgende opdracht uit:

source ~/.bashrc
OR
source ~/.profile

Controleer vervolgens of de nvm op uw systeem is geïnstalleerd met behulp van de volgende opdracht.

command -v nvm

nvm

Het zal de uitvoer tonen als ‘nvm‘ als de installatie succesvol was.

Installeer meerdere Node.js-versies met NVM

Nu is het tijd om te leren hoe u Node Version Manager in Linux gebruikt. Om de nieuwste versie van node te downloaden, compileren en installeren, voert u de volgende opdracht uit:

nvm install node 

Merk op dat in de bovenstaande opdracht “node” een alias is voor de nieuwste versie.

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)

Om een specifieke “node”-versie te installeren, vermeldt u eerst de beschikbare knooppuntversies en installeert u vervolgens de versie zoals weergegeven.

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)

Zodra u een Node.js-versie heeft geïnstalleerd met nvm, zou het systeem nu naar Node.js en npm moeten verwijzen versies onder nvm. U kunt de locatie van het gebruikte knooppunt en npm binair bestand/commando controleren door de opdracht welke als volgt uit te voeren:

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

Lijst met geïnstalleerde Node.js-versies

U kunt alle geïnstalleerde versies controleren met de volgende opdracht:

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)

Kies Knooppuntversie voor een project

Dit is waar nvm interessant wordt. Nu kunt u nvm gebruiken om de versie van node.js te kiezen die u wilt gebruiken voor elk project waaraan u werkt, op basis van de vereisten. Laten we eens kijken hoe we dit kunnen doen, zoals hieronder uitgelegd.

Open meerdere terminals en ga naar de project-mappen. Voor deze handleiding hebben we twee projecten onder ~/projects/app-server en ~/projects/test-ui die op bedrieglijke wijze knooppuntversie 19.0.0 en 20.0.0 vereisen .

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

Als u bijvoorbeeld een globaal pakket hebt geïnstalleerd terwijl versie 19.0.0 actief is, moet u, wanneer u overschakelt naar versie 20.0.0, het globale pakket opnieuw installeren onder de nieuwe versie.

Belangrijk is dat u het pad naar het uitvoerbare bestand waar een specifieke knooppuntversie is geïnstalleerd als volgt kunt bekijken:

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

Stel de standaard Node.js-versie in Linux in

Om bovendien handmatig een standaard knooppuntversie in te stellen die in een nieuwe shell moet worden gebruikt, gebruikt u de alias “default”, zoals weergegeven.

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

Node.js-versie verwijderen in Linux

Om een versie van Node.js te verwijderen of te verwijderen, voert u de volgende opdracht uit (vergeet niet 19.0.0 te vervangen door het versienummer):

nvm uninstall 19.0.0

NVM verwijderen onder Linux

Om nvm handmatig van uw systeem te verwijderen, voert u de volgende opdrachten uit:

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

Bewerk vervolgens ~/.bashrc (of het toepasselijke configuratiebestand voor het shell-profiel, zoals hierboven vermeld) en verwijder de volgende configuratieregels:

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

Voor meer informatie, zie nvm --help of ga naar de Node Version Manager Github repository: https://github.com/nvm-sh/nvm.

Dat is alles! Node Version Manager is een eenvoudig bash-script om meerdere actieve node.js versies op je Linux-systeem te beheren. Gebruik het onderstaande feedbackformulier om vragen te stellen of uw opmerkingen met ons te delen.