Dieser Leitfaden gibt Ihnen eine kurze Einführung in "n" , ein inoffizielles Node-Versionsverwaltungstool, und erklärt dann, wie man nodejs-Versionen mit n in Linux-Betriebssystemen einfach verwaltet.
Was ist n, der Node-Versionsmanager?
NodeJS erfordert keine Einführung. Nodejs ist eine Laufzeitumgebung für JavaScript, die auf der V8-Engine von Google aufbaut. Nodejs enthält einen integrierten Paketmanager namens npm
Knotenversionen zu installieren und zu verwalten, und es gibt auch viele Tools von Drittanbietern, um Knotenversionen zu verwalten. n ist eines der Node-Versionsverwaltungstools von Drittanbietern. Ja, es ist nur ein einzelner Buchstabe - n.
Das n ist ein interaktiver Node-Versionsmanager zur einfachen Verwaltung einer einzelnen oder mehrerer NodeJS-Versionen! Keine Subshells, keine Profileinrichtung, keine komplizierte API, keine Lernkurve, es ist einfach einfach Werkzeug. Es ist nur ein Shell-Skript und sein Code ist auf GitHub frei verfügbar.
1. Installieren Sie n unter Linux
Der einfachste Weg, n zu installieren, ist über npm
. Wie bereits erwähnt, ist Npm der integrierte Paketmanager für Nodejs und wird mit Nodejs vorinstalliert geliefert.
Ich gehe davon aus, dass Sie bereits die neuesten Nodejs auf Ihrem Linux-Rechner haben. Wenn Sie NodeJS noch nicht installiert haben, lesen Sie die folgende Anleitung:
- So installieren Sie NodeJS unter Linux
Führen Sie als Nächstes den folgenden Befehl aus, um n unter Linux zu installieren:
$ npm install -g n
Wenn npm nicht verfügbar ist oder Sie n nicht mit npm installieren möchten, können Sie das n-Skript direkt von GitHub holen und wie folgt installieren:
$ curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
$ bash n lts
Dadurch werden beide node
installiert lts-Version und npm
.
1.2. Home-Verzeichnis für die Knoteninstallation erstellen
Standardmäßig installiert n node
unter n/versions
Unterverzeichnis von /usr/local/
Verzeichnis, das im N_PREFIX
definiert ist Umgebungsvariable. Wie Sie bereits wissen, benötigen wir sudo
Berechtigung zum Installieren des Knotens unter /usr/local/n/versions/node/
Verzeichnis. Um die Verwendung von sudo
zu vermeiden , können Sie ein dediziertes Verzeichnis für die Knoteninstallation in Ihrem $HOME erstellen und sie zu Ihrem PATH
hinzufügen .
Um ein Home-Verzeichnis für die Knoteninstallation zu erstellen, bearbeiten Sie Ihre Benutzerprofildatei, zum Beispiel ~/.bashrc
:
$ vi ~/.bashrc
Fügen Sie die folgenden Zeilen hinzu:
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
Drücken Sie ESC
drücken und :wq
eingeben um die Datei zu speichern und zu beenden.
1.3. Installieren Sie n mit dem n-install-Skript
Die andere Möglichkeit, n zu installieren, ist n-install -Skript, das n direkt von GitHub installiert.
$ curl -L https://git.io/n-install | bash
Dieser Befehl erledigt die folgenden Aufgaben:
- Zuerst setzt es beide
PREFIX
undN_PREFIX
zu$HOME/n
; - Und installiert
n
zu$HOME/n/bin
; - Ändert als Nächstes die Initialisierungsdateien der unterstützten Shells, um
N_PREFIX
zu exportieren; - Fügt dann
$HOME/n/bin
hinzu zumPATH
; - Installiert schließlich die neueste Version von LTS Node.js.
2. Verwalten Sie nodejs-Versionen mit n in Linux
Das Installieren und Verwalten von nodejs-Versionen mit n ist ziemlich einfach! Sehen wir uns einige Beispiele an.
2.1. Hilfe bekommen
Wenn Sie neu bei n sind, ist es wahrscheinlich eine gute Idee, den Hilfeabschnitt aufzurufen und zu lernen, wie man n verwendet.
Um den Hilfeabschnitt von n anzuzeigen, führen Sie einfach Folgendes aus:
$ n --help
Sehen Sie sich das Hilfe-Handbuch an, um einen Einblick in die Verwendung der einzelnen Befehle zu erhalten.
Usage: n [options] [COMMAND] [args]
Commands:
n Display downloaded Node.js versions and install selection
n latest Install the latest Node.js release (downloading if necessary)
n lts Install the latest LTS Node.js release (downloading if necessary)
n Install Node.js (downloading if necessary)
n install Install Node.js (downloading if necessary)
n run [args …] Execute downloaded Node.js with [args …]
n run [args …] Execute downloaded node with [args …]
n which Output path for downloaded node
n exec [args…] Execute command with modified PATH, so downloaded node and npm first
n rm Remove the given downloaded version(s)
n prune Remove all downloaded versions except the installed version
n --latest Output the latest Node.js version available
n --lts Output the latest LTS Node.js version available
n ls Output downloaded versions
n ls-remote [version] Output matching versions available for download
n uninstall Remove the installed Node.js
Options:
-V, --version Output version of n
-h, --help Display help information
-p, --preserve Preserve npm and npx during install of Node.js
-q, --quiet Disable curl output (if available)
-d, --download Download only
-a, --arch Override system architecture
--all ls-remote displays all matches instead of last 20
--insecure Turn off certificate checking for https requests (may be needed from behind a proxy server)
--use-xz/--no-use-xz Override automatic detection of xz support and enable/disable use of xz compressed node downloads.
Aliases:
install: i
latest: current
ls: list
lsr: ls-remote
lts: stable
rm: -
run: use, as
which: bin
Versions:
Numeric version numbers can be complete or incomplete, with an optional leading 'v'.
Versions can also be specified by label, or codename,
and other downloadable releases by /
4.9.1, 8, v6.1 Numeric versions lts Newest Long Term Support official release latest, current Newest official release auto Read version from file: .n-node-version, .node-version, .nvmrc, or package.json engine Read version from package.json boron, carbon Codenames for release streams lts_latest Node.js support aliases and nightly, rc/10 et al
2.2. Installieren Sie Nodejs-Versionen mit n
So installieren Sie die neueste nodejs-Version mit n
, führen Sie einfach Folgendes aus:
$ n latest
Beispielausgabe:
installing : node-v16.2.0 mkdir : /home/ostechnix/.n/n/versions/node/16.2.0 fetch : https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.xz installed : v16.2.0 (with npm 7.13.0) Note: the node command changed location and the old location may be remembered in your current shell. old : /home/ostechnix/.nvm/versions/node/v16.1.0/bin/node new : /home/ostechnix/.n/bin/node To reset the command location hash either start a new shell, or execute PATH="$PATH"
Die alte Version von node wird an den neuen Speicherort verschoben, d. h. /home/ostechnix/.n/bin/node
in meinem Fall. Öffnen Sie eine neue Shell-Sitzung oder starten Sie die Terminal-Sitzung neu, um die Knotenversion vom neuen Speicherort zu verwenden.
Überprüfen Sie die installierte Knotenversion:
$ node --version v16.2.0
Überprüfen Sie die npm-Version:
$ npm -v 7.13.0
Ebenso können Sie eine LTS-Knotenversion mit n installieren wie unten:
$ n lts
Beispielausgabe:
installing : node-v14.17.0 mkdir : /home/ostechnix/.n/n/versions/node/14.17.0 fetch : https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz installed : v14.17.0 (with npm 6.14.13)
Sie können auch eine bestimmte Nodejs-Version installieren, zum Beispiel 16.0.0
, mit dem Befehl:
$ n 16.0.0
Wie Sie vielleicht bemerkt haben, erstellt n separate Verzeichnisse für jede Knotenversion. Beispielsweise wird /home/ostechnix/.n/n/versions/node/16.2.0
erstellt Verzeichnis für die neueste Knotenversion, n/versions/node/14.17.0
für Knoten-LTS-Version und n/versions/node/16.0.0
für Knotenversion 16.0.0. Auf diese Weise werden die einzelnen Versionen nicht miteinander vermischt und wir können jederzeit zu jeder Version wechseln.
2.3. Nodejs-Versionen herunterladen, aber nicht installieren
Wenn Sie keine Nodejs-Version installieren, sondern nur herunterladen möchten, verwenden Sie -d
, --download
Möglichkeit:
$ n -d 15.8.0
Dieser Befehl lädt nur die Knotenversion 15.8.0 herunter, installiert sie aber nicht.
Beispielausgabe:
installing : node-v15.8.0 mkdir : /home/ostechnix/.n/n/versions/node/15.8.0 fetch : https://nodejs.org/dist/v15.8.0/node-v15.8.0-linux-x64.tar.xz
2.4. Lokal heruntergeladene Nodejs-Versionen auflisten
Um alle heruntergeladenen Nodejs-Versionen in Ihrem lokalen Cache anzuzeigen, führen Sie einfach Folgendes aus:
$ n ls
Oder,
$ n list
Beispielausgabe:
node/14.17.0 node/15.8.0 node/16.0.0 node/16.2.0
2.5. Verfügbare Nodejs-Versionen aus dem Remote-Repository auflisten
Wir können ls-remote
verwenden Option zum Anzeigen der letzten 20 Versionen von Nodejs aus der npm-Registrierung .
$ n ls-remote
Oder,
$ n lsr
Beispielausgabe:
Listing remote… Displaying 20 matches (use --all to see all). 16.2.0 16.1.0 16.0.0 15.14.0 15.13.0 15.12.0 15.11.0 15.10.0 15.9.0 15.8.0 15.7.0 15.6.0 15.5.1 15.5.0 15.4.0 15.3.0 15.2.1 15.2.0 15.1.0 15.0.1
Die neueste Version wird oben angezeigt.
Standardmäßig werden 20 Versionen aufgelistet. Sie können auch eine bestimmte Anzahl von Knotenversionen anzeigen.
$ n lsr 10
Um alle verfügbaren nodejs-Versionen aufzulisten, verwenden Sie --all
Option.
$ n ls-remote --all
2.6. Zeigt den Pfad der heruntergeladenen Nodejs-Version an
Um den vollständigen Pfad einer bestimmten heruntergeladenen Knotenversion zu drucken, führen Sie Folgendes aus:
$ n which node/16.2.0
Beispielausgabe:
/home/ostechnix/.n/n/versions/node/16.2.0/bin/node
2.7. Nodejs-Versionen wechseln
Die zuletzt installierte Version ist die Standardknotenversion. Wenn Sie zu einer anderen Version wechseln möchten, geben Sie n
ein und wählen Sie eine Version aus der Liste der heruntergeladenen Knotenversionen aus.
$ n
Dieser Befehl zeigt alle heruntergeladenen nodejs-Versionen an. Sie können die erforderliche Version mit den Pfeilen nach oben/unten auswählen und die EINGABETASTE drücken, um sie zu installieren.
node/14.17.0 node/15.8.0 ο node/16.0.0 node/16.2.0 Use up/down arrow keys to select a version, return key to install, d to delete, q to quit
Die Standardversion wird durch einen kleinen Kreis davor angezeigt.
Wenn Sie keine bestimmte heruntergeladene nodejs-Version möchten, wählen Sie sie einfach aus und drücken Sie d
um es zu löschen. Zum Beenden drücken Sie q
.
2.8. Heruntergeladene Nodejs-Version ausführen
Wie bereits erwähnt, ist die zuletzt installierte Version die Standardknotenversion. Wenn Sie eine andere Version ausführen möchten, ohne sie als Standard festzulegen, können Sie diesen Befehl verwenden:
$ n run 15.8.0
Beispielausgabe:
Welcome to Node.js v15.8.0. Type ".help" for more information. >
Drücken Sie Ctrl+D
oder geben Sie .exit
ein um die Eingabeaufforderung des Knotens zu verlassen.
2.9. Heruntergeladene Nodejs-Versionen entfernen
Listen Sie mit dem Befehl auf, wie viele Knotenversionen heruntergeladen wurden:
$ n ls
Um eine bestimmte Version zu entfernen, geben Sie einfach ihre Versionsnummer wie unten an:
$ n rm node/16.0.0
Geben Sie alternativ n
ein um die verfügbaren Knotenversionen anzuzeigen:
$ n
Wählen Sie die Version, die Sie entfernen möchten, mit den Aufwärts-/Abwärtspfeilen aus und drücken Sie d
um es zu löschen. Sie müssen beim Löschen einer Knotenversion vorsichtig sein. Denn Sie werden nicht aufgefordert, das Löschen zu bestätigen. Sobald Sie das d
gedrückt haben Taste wird die ausgewählte Version gelöscht.
Um alle heruntergeladenen Versionen außer der installierten Version zu entfernen, führen Sie Folgendes aus:
$ n prune
Um die installierte Nodejs-Version vollständig zu entfernen, führen Sie Folgendes aus:
$ n uninstall
Sie werden gefragt, ob Sie sowohl Node als auch Npm von Ihrem System löschen möchten. Geben Sie y
ein und drücken Sie ENTER
Taste, um node
vollständig zu entfernen und npm
installiert von n
von Ihrem System.
Do you wish to delete node and npm from /home/ostechnix/.n? y Uninstalling node and npm /home/ostechnix/.n/bin/node /home/ostechnix/.n/bin/npm /home/ostechnix/.n/bin/npx /home/ostechnix/.n/include/node /home/ostechnix/.n/lib/node_modules/npm /home/ostechnix/.n/share/doc/node /home/ostechnix/.n/share/man/man1/node.1 /home/ostechnix/.n/share/systemtap/tapset/node.stp
Dadurch wird jedoch nicht die Knotenversion entfernt, die mit NVM oder dem Paketmanager Ihrer Distribution installiert wurde. Es werden nur die Knotenversionen entfernt, die mit n installiert wurden.
Schlussfolgerung
Das n-Skript ist hilfreich, wenn Sie verschiedene Nodejs-Versionen für verschiedene Projekte verwenden möchten. Sie müssen nicht für jedes Projekt eine Version von Nodejs entfernen und eine andere installieren. Sie können mehrere Nodejs-Versionen installieren und sofort von einer Nodejs-Version zur anderen wechseln.