Node Version Manager (NVM kurz gesagt) ist ein einfaches Bash-Skript zur Verwaltung mehrerer aktiver Node.js-Versionen auf Ihrem Linux-System. Es ermöglicht Ihnen, mehrere Node.js-Versionen zu installieren und alle verfügbaren Versionen für die Installation sowie alle installierten Versionen auf Ihrem System anzuzeigen.
Nvm unterstützt auch das Ausführen einer bestimmten Node.js-Version und kann den Pfad zur ausführbaren Datei anzeigen, in der sie installiert wurde, und vieles mehr.
In diesem Artikel erklären wir, wie Sie Node Version Manager (NVM) installieren, um mehrere aktive Node.js-Versionen auf Ihrer Linux-Distribution zu verwalten.
Inhaltsverzeichnis
NVM (Node Version Manager) in Linux installieren
Um nvm auf Ihrer Linux-Distribution zu installieren oder zu aktualisieren, können Sie das Auto-Installations-Skript mit den Befehlszeilentools curl oder wget herunterladen.
# 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
Das obige Autoinstallations-Skript klonet das nvm-Repository in das Verzeichnis ~/.nvm
in Ihrem Home-Verzeichnis und fügt die erforderlichen Quellbefehle zu Ihren Shell-Startskripten hinzu, d.h. ~/.bash_profile, ~/.zshrc, ~/.profile oder ~/.bashrc, je nachdem welches Shell-Programm Sie verwenden, wie im folgenden Output gezeigt.
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`: ...
Nach Abschluss der Installation schließen Sie das aktuelle Terminalfenster und öffnen ein neues oder laden einfach Ihre Shell-Profildatei, um nvm zu laden. Wenn Sie beispielsweise bash verwenden, führen Sie den folgenden Befehl aus:
$ source ~/.bashrc OR $ source ~/.profile
Überprüfen Sie anschließend mit dem folgenden Befehl, ob nvm auf Ihrem System installiert wurde.
# command -v nvm nvm
Es wird die Ausgabe ’nvm‘ angezeigt, wenn die Installation erfolgreich war.
Installieren mehrerer Node.js-Versionen mit NVM
Jetzt ist es an der Zeit zu lernen, wie man den Node Version Manager unter Linux verwendet. Um die neueste Version von node herunterzuladen, zu kompilieren und zu installieren, führen Sie den folgenden Befehl aus:
# nvm install node
Beachten Sie, dass in dem obigen Befehl “node” ein Alias für die neueste Version ist.
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)
Um eine bestimmte “node”-Version zu installieren, listen Sie zunächst die verfügbaren Node-Versionen auf und installieren Sie dann die Version wie gezeigt.
# 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)
Nachdem Sie eine Node.js-Version mit nvm installiert haben, sollte das System nun auf die unter nvm installierten Node.js– und npm-Versionen verweisen. Sie können den Speicherort des node– und npm-Binär-/Befehls durch Ausführen des Befehls which wie folgt überprüfen:
# 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
Auflisten installierter Node.js-Versionen
Sie können alle installierten Versionen mit dem folgenden Befehl überprüfen:
# 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)
Node-Version für ein Projekt auswählen
Hier wird nvm interessant. Jetzt können Sie nvm verwenden, um die Version von Node.js für jedes Projekt, an dem Sie arbeiten, basierend auf den Anforderungen auszuwählen. Schauen wir uns an, wie das geht, wie unten erklärt.
Öffnen Sie mehrere Terminals und wechseln Sie in die Projekt-Verzeichnisse. Für diese Anleitung haben wir zwei Projekte unter ~/projects/app-server
und ~/projects/test-ui
, die jeweils die Node-Versionen 19.0.0 und 20.0.0 benötigen, irreführend.
------------ 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
Wenn beispielsweise eine globale Paketinstallation vorhanden ist, wenn Version 19.0.0 aktiv ist, müssen Sie beim Wechsel zur Version 20.0.0 das globale Paket unter der neuen Version erneut installieren.
Wichtig ist, dass Sie den Pfad zur Ausführbaren Datei anzeigen können, an den eine bestimmte Node-Version installiert wurde, wie folgt:
# nvm which 20.0.0 # nvm which 19.0.0 # nvm which system #check system-installed version of a node using “system” alias
Standard-Node.js-Version in Linux festlegen
Zusätzlich können Sie manuell eine Standard-Node-Version festlegen, die in jeder neuen Shell verwendet werden soll, indem Sie das Alias „default“ wie gezeigt verwenden.
# nvm alias default 20.0.0 # nvm alias default system # nvm alias default 19.0.0
.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.Deinstallation von Node.js-Version in Linux
Um eine Version von Node.js zu deinstallieren oder zu entfernen, geben Sie den folgenden Befehl ein (vergessen Sie nicht, 19.0.0 durch die Versionsnummer zu ersetzen):
# nvm uninstall 19.0.0
Deinstallation von NVM in Linux
Um nvm manuell von Ihrem System zu entfernen, führen Sie die folgenden Befehle aus:
# rm -rf "$NVM_DIR" OR # rm -rf ~/.nvm
Anschließend bearbeiten Sie ~/.bashrc (oder die entsprechende Shell-Profilkonfigurationsdatei, wie oben aufgeführt) und entfernen die folgenden Konfigurationszeilen:
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
Für weitere Informationen sehen Sie nvm --help
oder besuchen Sie das Node Version Manager Github-Repository: https://github.com/nvm-sh/nvm.
Das war’s! Node Version Manager ist ein einfaches Bash-Skript zur Verwaltung mehrerer aktiver node.js-Versionen auf Ihrem Linux-System. Verwenden Sie das Feedbackformular unten, um Fragen zu stellen oder Ihre Kommentare mit uns zu teilen.
Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/