Instalacja różnych wersji nodejs przez nvm.
NVM, czyli Node Version Manager
, umożliwia łatwą instalację i zarządzanie różnymi wersjami Node.js na jednym systemie. Dzięki NVM możesz łatwo przełączać się między różnymi wersjami Node.js, co jest przydatne przy pracy nad różnymi projektami wymagającymi różnych wersji tego środowiska. NVM ułatwia także aktualizację i usuwanie wersji Node.js, co jest wygodne przy utrzymaniu elastyczności w środowisku deweloperskim.
Jak zainstalować NVM na serwerze?
Zaloguj się do swojego serwera poprzez konsolę SSH.
Logowanie do SSH. Jeśli nie wiesz jak to zrobić sprawdź Logowanie do SSH (Hosting VPS) lub Logowanie do SSH (VPS).
Sprawdźmy czy obecnie mamy nodeJS, czy mamy nvm ... a jeśli nie, to zainstalujmy:
[adam@adamhitme ~]$ node -v
bash: node: command not found
[adam@adamhitme ~]$
[adam@adamhitme ~]$ nvm -v
bash: nvm: command not found
[adam@adamhitme ~]$
Pobierz skrypt instalacyjny nvm i wykonaj poleceniem:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
[adam@adamhitme ~]$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
=> Downloading nvm as script to '/home/adam/.nvm'
=> Appending nvm source string to /home/adam/.bashrc
=> Appending bash_completion source string to /home/adam/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
[adam@adamhitme ~]$
Teraz, przeładuj terminal poleceniem: source ~/.bashrc
lub wyloguj i zaloguj się ponownie do SSH.
source ~/.bashrc
[adam@adamhitme:~]$ source ~/.bashrc
[adam@adamhitme ~]$ nvm -v
0.39.7
[adam@adamhitme ~]$
W porządku,, mamy wersję 0.39.7 u siebie. Teraz, możesz zainstalować nodeJS korzystając z nvm
.
Zainstalujmy aktualną wersję LTS (obecnie jest to: v20.11.0
).
Wersja LTS (Long-Term Support) to zawsze najświeższe stabilne wydanie, które otrzymuje długoterminowe wsparcie w postaci aktualizacji zabezpieczeń i poprawek błędów przez kilka lat.
nvm install --lts
[adam@adamhitme ~]$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v20.11.0...
Downloading https://nodejs.org/dist/v20.11.0/node-v20.11.0-linux-x64.tar.xz...
###################################################################################################################################################################################################### 100.0%Computing checksum with sha256sum
Checksums matched!
Now using node v20.11.0 (npm v10.2.4)
Creating default alias: default -> lts/* (-> v20.11.0)
Sprawdźmy wersję node:
[adam@adamhitme ~]$ node -v
v20.11.0
możesz też wydać polecenie nvm current
[adam@adamhitme ~]$ nvm current
v20.11.0
[adam@adamhitme ~]$
Instalacja kolejnej wersji nodeJS na serwerze
Poleceniem nvm list-remote
możesz wyświetlić wersję nodeJS, które możesz zainstalować.
Zainstalujmy sobie nodeJS v18
poleceniem nvm install 18
.
[adam@adamhitme ~]$ nvm install 18
Downloading and installing node v18.19.0...
Downloading https://nodejs.org/dist/v18.19.0/node-v18.19.0-linux-x64.tar.xz...
###################################################################################################################################################################################################### 100.0%Computing checksum with sha256sum
Checksums matched!
Now using node v18.19.0 (npm v10.2.3)
[adam@adamhitme ~]$
Następnie ustawmy v18 jako aktualnie używaną wersję, wykonaj to poleceniem nvm use
:
[adam@adamhitme ~]$ nvm use 18
Now using node v18.19.0 (npm v10.2.3)
[adam@adamhitme ~]$
sprawdźmy:
[adam@adamhitme ~]$ node -v
v18.19.0
[adam@adamhitme ~]$ nvm current
v18.19.0
[adam@adamhitme ~]$
Jak ustawić domyślną wersję nodeJS
Poleceniem nvm list
możesz sprawdzić jakie aktualnie masz zainstalowane wersje nodeJS:
[adam@adamhitme ~]$ nvm list
-> v18.19.0
v20.11.0
default -> lts/* (-> v20.11.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v20.11.0) (default)
stable -> 20.11 (-> v20.11.0) (default)
lts/* -> lts/iron (-> v20.11.0)
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.2 (-> N/A)
lts/hydrogen -> v18.19.0
lts/iron -> v20.11.0
[adam@adamhitme ~]$
Do dyspozycji są v18.19.0
oraz v20.11.0
z czego obecnie używana jest v18
a domyślna to v20
.
Aby to v18 była tą domyślną wersją, użyj polecenia nvm alias default 18.19.0
[adam@adamhitme ~]$ nvm alias default 18.19.0
default -> 18.19.0 (-> v18.19.0)
[adam@adamhitme ~]$
Przykładowa aplikacja nodeJS
Dzięki nvm
możesz także uruchamiać swoją aplikację bez przełączania obecnej wersji nodeJS. Wykonaj to poleceniem:
nvm exec 20.11.0 node app.js
Utwórz sobie plik app.js
, następnie wklej i zapisz poniższą treść:
const http = require("http");
const version = process.versions.node
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Witaj swiecie! \n');
res.end(version);
}).listen(8000);
console.log('Server http://127.0.0.1:8000/');
console.log('Wersja NodeJS: '+version);
następnie użyj polecenia nvm exec
:
[adam@adamhitme ~]$ nvm exec 20.11.0 node app.js
Running node v20.11.0 (npm v10.2.4)
Server http://127.0.0.1:8000/
Wersja NodeJS: 20.11.0
[adam@adamhitme ~]$ nvm exec 18.19.0 node app.js
Running node v18.19.0 (npm v10.2.3)
Server http://127.0.0.1:8000/
Wersja NodeJS: 18.19.0