Wyszukiwanie w witrynie

NVM — instaluj i zarządzaj wieloma wersjami Node.js w systemie Linux


Menedżer wersji węzła (w skrócie NVM) to prosty skrypt bash do zarządzania wieloma aktywnymi wersjami node.js w systemie Linux. Umożliwia zainstalowanie wielu wersji node.js i wyświetlenie wszystkich wersji dostępnych do instalacji oraz wszystkich wersji zainstalowanych w systemie.

Nvm obsługuje także uruchamianie określonej wersji node.js i może pokazywać ścieżkę do pliku wykonywalnego, w którym został zainstalowany, i wiele więcej.

W tym artykule wyjaśnimy, jak zainstalować Node Version Manager (NVM), aby zarządzać wieloma aktywnymi wersjami node.js w Twojej dystrybucji Linuksa.

Instalowanie NVM (menedżera wersji węzła) w systemie Linux

Aby zainstalować lub zaktualizować nvm w swojej dystrybucji Linuksa, możesz pobrać skrypt automatycznej instalacji za pomocą narzędzi wiersza poleceń curl lub wget, jak pokazano.

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

Powyższy skrypt automatycznej instalacji klonuje repozytorium nvm do pliku ~/.nvm w twoim katalogu domowym i dodaje wymagane polecenia źródłowe do skryptów startowych powłoki, tj. ~/ .bash_profile, ~/.zshrc, ~/.profile lub ~/.bashrc, w zależności od programu powłoki, którego używasz używają, jak pokazano na poniższych wynikach.

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

Po zakończeniu instalacji zamknij obecne okno terminala i otwórz nowe. Możesz też po prostu pobrać plik profilu powłoki, aby załadować nvm. Na przykład, jeśli używasz basha, uruchom następujące polecenie:

source ~/.bashrc
OR
source ~/.profile

Następnie sprawdź, czy w systemie zainstalowano nvm, używając następującego polecenia.

command -v nvm

nvm

Jeśli instalacja przebiegła pomyślnie, wyświetli się wynik jako „nvm”.

Zainstaluj wiele wersji Node.js przy użyciu NVM

Nadszedł czas, aby nauczyć się korzystać z Menedżera wersji węzła w systemie Linux. Aby pobrać, skompilować i zainstalować najnowszą wersję node, uruchom następującą komendę:

nvm install node 

Zwróć uwagę, że w powyższym poleceniu „node” jest aliasem najnowszej wersji.

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)

Aby zainstalować konkretną wersję „węzła”, najpierw wyświetl listę dostępnych wersji węzłów, a następnie zainstaluj tę wersję, jak pokazano.

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)

Po zainstalowaniu wersji Node.js przy użyciu nvm, system powinien teraz wskazywać pliki Node.js i npm wersje pod nvm. Możesz sprawdzić lokalizację używanego pliku binarnego/polecenie node i npm, uruchamiając polecenie które w następujący sposób:

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

Wyświetlanie zainstalowanych wersji Node.js

Możesz sprawdzić wszystkie zainstalowane wersje za pomocą następującego polecenia:

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)

Wybierz wersję węzła dla projektu

W tym miejscu nvm staje się interesujące. Teraz możesz użyć nvm, aby wybrać wersję node.js do użycia w każdym projekcie, nad którym pracujesz, w zależności od wymagań. Zobaczmy, jak to zrobić, jak wyjaśniono poniżej.

Otwórz wiele terminali i przejdź do katalogów projektu. Na potrzeby tego przewodnika mamy dwa projekty w ~/projects/app-server i ~/projects/test-ui, które w zwodniczy sposób wymagają wersji węzła 19.0.0 i 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

Na przykład, jeśli masz zainstalowany pakiet globalny, gdy wersja 19.0.0 jest aktywna, po przejściu do wersji 20.0.0 musisz ponownie zainstalować pakiet globalny w nowej wersji.

Co ważne, ścieżkę do pliku wykonywalnego, w którym została zainstalowana konkretna wersja węzła, możesz zobaczyć w następujący sposób:

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

Ustaw domyślną wersję Node.js w systemie Linux

Ponadto, aby ręcznie ustawić domyślną wersję węzła do użycia w dowolnej nowej powłoce, użyj aliasu „domyślny”, jak pokazano.

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

Odinstalowywanie wersji Node.js w systemie Linux

Aby odinstalować lub usunąć wersję Node.js, wydaj następujące polecenie (nie zapomnij zastąpić 19.0.0 numerem wersji):

nvm uninstall 19.0.0

Odinstalowywanie NVM w systemie Linux

Aby ręcznie usunąć nvm z systemu, uruchom następujące polecenia:

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

Następnie edytuj ~/.bashrc (lub odpowiedni plik konfiguracyjny profilu powłoki, jak wymieniono powyżej) i usuń następujące linie konfiguracyjne:

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

Aby uzyskać więcej informacji, zobacz nvm --help lub przejdź do repozytorium Node Version Manager Github: https://github.com/nvm-sh/nvm.

To wszystko! Menedżer wersji węzła to prosty skrypt bash do zarządzania wieloma aktywnymi wersjami node.js w systemie Linux. Skorzystaj z poniższego formularza opinii, aby zadać pytania lub podzielić się z nami swoimi komentarzami.