NVM – Meerdere Node.js-versies installeren in Linux

Node Version Manager (NVM kort gezegd) is een eenvoudig bash-script om meerdere actieve Node.js-versies op uw Linux-systeem te beheren. Het stelt u in staat om meerdere Node.js-versies te installeren en alle beschikbare versies voor installatie en alle geïnstalleerde versies op uw systeem te bekijken.

NVM ondersteunt ook het uitvoeren van een specifieke Node.js-versie en kan het pad naar de uitvoerbare locatie tonen waar het is geïnstalleerd, en nog veel meer.

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

NVM (Node Version Manager) installeren in Linux

Om nvm te installeren of bij te werken op uw Linux-distributie, kunt u het auto-installatiescript downloaden met behulp van de curl of wget command line tools 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

De bovenstaande auto-installatiescript kloont het nvm-repository naar ~/.nvm in je thuismap en voegt de benodigde bronopdrachten toe aan je shell-startscripts, zoals ~/.bash_profile, ~/.zshrc, ~/.profile of ~/.bashrc, afhankelijk van het shellprogramma dat je gebruikt, zoals getoond in de volgende uitvoer.

Install NVM in Linux
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 je het huidige terminalvenster en open je een nieuwe of laad je eenvoudig je shellprofielbestand om nvm te laden. Als voorbeeld, als je bash gebruikt, voer dan de volgende opdracht uit:

$ source ~/.bashrc
OR
$ source ~/.profile

Vervolgens, controleer of nvm is geïnstalleerd op je systeem 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 behulp van NVM

Het is nu tijd om te leren hoe je Node Version Manager gebruikt in Linux. Om de nieuwste release van node te downloaden, compileren en installeren, voer je de volgende opdracht uit:

# nvm install node 

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

Install Latest Node Version in Linux
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, lijst eerst de beschikbare node-versies op en installeer dan de versie zoals getoond.

# nvm ls-remote
# nvm install 19.0.0  
Install Specific Node Version in Linux
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)

Nadat u een versie van Node.js hebt geïnstalleerd met behulp van nvm, moet het systeem nu verwijzen naar de Node.js– en npm-versies onder nvm. U kunt de locatie van de node– en npm-binair/commando dat wordt gebruikt controleren door het volgende which-commando 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

Geïnstalleerde Node.js-versies vermelden

U kunt alle geïnstalleerde versies controleren met het volgende commando:

# nvm ls
List Installed Node Versions in Linux
->      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 Node Versie voor een Project

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

Open meerdere terminals en ga naar de project-directories. Voor deze handleiding hebben we twee projecten onder ~/projects/app-server en ~/projects/test-ui die respectievelijk nodeversie 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
Important: Note that when switching between different versions of Node.js, any global npm packages that you have installed will not work. This is because the multiple Node.js version installations are completely independent.

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

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

# 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

Bovendien, om handmatig een standaard node-versie in te stellen die wordt gebruikt in elke nieuwe shell, gebruik de alias “default” zoals getoond.

# nvm alias default 20.0.0
# nvm alias default system
# nvm alias default 19.0.0
Note: You can create a .nvmrc initialization file in your project root directory (or any parent directory) and add a node version number or any other flags or usage options that nvm understands, in it. Then use some of the commands we have just looked at above to operate with the specified version in the file.

Node.js Versie Verwijderen in Linux

Om een versie van Node.js te deïnstalleren of te verwijderen, voer het volgende commando uit (vergeet niet om 19.0.0 te vervangen door het versienummer):

# nvm uninstall 19.0.0

NVM Verwijderen in Linux

Om nvm handmatig van uw systeem te verwijderen, voer de volgende commando’s uit:

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

Vervolgens, bewerk ~/.bashrc (of het toepasselijke shellprofielconfiguratiebestand, 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 uw Linux-systeem te beheren. Gebruik het feedbackformulier hieronder om vragen te stellen of uw opmerkingen met ons te delen.

Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/