Einführung
Um
Installieren und Aktualisieren
Zusätzliche Hinweise
Fehlerbehebung unter Linux
Fehlerbehebung unter macOS
Ansible
Skript installieren und aktualisieren
Überprüfen Sie die Installation
Wichtige Hinweise
Git-Installation
Manuelle Installation
Manuelles Upgrade
Verwendung
Aufruf nvm use
automatisch in einem Verzeichnis mit einer .nvmrc
Datei
bash
zsh
Fisch
Übergeben Sie den Autorisierungsheader an den Spiegel
Bestehende benutzerdefinierte Farben
Unterdrückung der farbigen Ausgabe
Langfristiger Support
Globale Pakete während der Installation migrieren
Standardmäßige globale Pakete aus Datei während der Installation
io.js
Systemversion des Knotens
Auflisten von Versionen
Benutzerdefinierte Farben festlegen
PATH wird wiederhergestellt
Legen Sie die Standardknotenversion fest
Verwenden Sie einen Spiegel von Knotenbinärdateien
.nvmrc
Tiefergehende Shell-Integration
Ausführen von Tests
Umgebungsvariablen
Bash-Abschluss
Verwendung
Kompatibilitätsprobleme
NVM unter Alpine Linux installieren
Alpine Linux 3.13+
Alpine Linux 3.5 - 3.12
Deinstallation/Entfernung
Manuelle Deinstallation
Docker für Entwicklungsumgebung
Probleme
macOS-Fehlerbehebung
WSL-Fehlerbehebung
Betreuer
Projektunterstützung
Unternehmensunterstützung
Lizenz
Urheberrechtshinweis
nvm
können Sie schnell verschiedene Versionen von Node über die Befehlszeile installieren und verwenden.
Beispiel:
$ nvm verwenden 16 Jetzt mit Node v16.9.1 (npm v7.21.1) $ Knoten -v v16.9.1 $ nvm verwenden 14 Jetzt mit Knoten v14.18.0 (npm v6.14.15) $ Knoten -v v14.18.0 $ nvm install 12 Jetzt mit Knoten v12.22.6 (npm v6.14.5) $ Knoten -v v12.22.6
So einfach ist das!
nvm ist ein Versionsmanager für node.js, der für die Installation pro Benutzer und den Aufruf pro Shell konzipiert ist. nvm
funktioniert auf jeder POSIX-kompatiblen Shell (sh, dash, ksh, zsh, bash), insbesondere auf diesen Plattformen: Unix, macOS und Windows WSL.
Um NVM zu installieren oder zu aktualisieren , sollten Sie das Installationsskript ausführen. Dazu können Sie entweder das Skript herunterladen und manuell ausführen oder den folgenden cURL- oder Wget-Befehl verwenden:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
Wenn Sie einen der oben genannten Befehle ausführen, wird ein Skript heruntergeladen und ausgeführt. Das Skript klont das NVM-Repository nach ~/.nvm
und versucht, die Quellzeilen aus dem Snippet unten zur richtigen Profildatei ( ~/.bash_profile
, ~/.zshrc
, ~/.profile
oder ~/.bashrc
) hinzuzufügen. .
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"[ -s "$ NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Dadurch wird nvm geladen
Wenn die Umgebungsvariable $XDG_CONFIG_HOME
vorhanden ist, werden die nvm
Dateien dort abgelegt.
Sie können --no-use
am Ende des obigen Skripts hinzufügen (... nvm.sh --no-use
), um die Verwendung von nvm
zu verschieben, bis Sie es manuell use
.
Sie können die Installationsquelle, das Verzeichnis, das Profil und die Version mithilfe der Variablen NVM_SOURCE
, NVM_DIR
, PROFILE
und NODE_VERSION
anpassen. Beispiel: curl ... | NVM_DIR="path/to/nvm"
. Stellen Sie sicher, dass das NVM_DIR
keinen abschließenden Schrägstrich enthält.
Das Installationsprogramm kann git
, curl
oder wget
verwenden, um nvm
herunterzuladen, je nachdem, was verfügbar ist.
Sie können das Installationsprogramm anweisen, Ihre Shell-Konfiguration nicht zu bearbeiten (z. B. wenn Sie bereits Vervollständigungen über ein ZSH-NVM-Plugin erhalten), indem Sie PROFILE=/dev/null
festlegen, bevor Sie das Skript install.sh
ausführen. Hier ist ein einzeiliger Beispielbefehl dafür: PROFILE=/dev/null bash -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash'
Wenn Sie unter Linux nach der Ausführung des Installationsskripts die Meldung nvm: command not found
erhalten oder keine Rückmeldung von Ihrem Terminal erhalten, nachdem Sie command -v nvm
eingegeben haben, schließen Sie einfach Ihr aktuelles Terminal, öffnen Sie ein neues Terminal und versuchen Sie es erneut. Alternativ können Sie die folgenden Befehle für die verschiedenen Shells in der Befehlszeile ausführen:
bash : source ~/.bashrc
zsh : source ~/.zshrc
ksh : . ~/.profile
Diese sollten den nvm
-Befehl übernehmen.
Seit /usr/bin/git
Sie müssen die Xcode-Befehlszeilentools manuell installieren, bevor Sie das Installationsskript ausführen, andernfalls schlägt es fehl. (siehe #1782)
Wenn nach der Ausführung des Installationsskripts nvm: command not found
angezeigt wird, kann dies eine der folgenden Ursachen haben:
Seit macOS 10.15 ist die Standard-Shell zsh
und nvm sucht nach .zshrc
zum Aktualisieren, standardmäßig ist keine installiert. Erstellen Sie eines mit touch ~/.zshrc
und führen Sie das Installationsskript erneut aus.
Wenn Sie Bash, die bisherige Standard-Shell, verwenden, verfügt Ihr System möglicherweise nicht über die Dateien .bash_profile
oder .bashrc
, in denen der Befehl eingerichtet ist. Erstellen Sie eines davon mit touch ~/.bash_profile
oder touch ~/.bashrc
und führen Sie das Installationsskript erneut aus. Dann laufen Sie . ~/.bash_profile
oder . ~/.bashrc
um den nvm
Befehl abzurufen.
Sie haben zuvor bash
verwendet, aber zsh
installiert. Sie müssen diese Zeilen manuell zu ~/.zshrc
hinzufügen und ausführen . ~/.zshrc
.
Möglicherweise müssen Sie Ihre Terminalinstanz neu starten oder ausführen . ~/.nvm/nvm.sh
. Wenn Sie Ihr Terminal neu starten/eine neue Registerkarte/ein neues Fenster öffnen oder den Quellbefehl ausführen, werden der Befehl und die neue Konfiguration geladen.
Wenn das oben Gesagte nicht geholfen hat, müssen Sie möglicherweise Ihre Terminalinstanz neu starten. Versuchen Sie, einen neuen Tab/ein neues Fenster in Ihrem Terminal zu öffnen, und versuchen Sie es erneut.
Wenn das Problem durch die oben genannten Maßnahmen nicht behoben wird, können Sie Folgendes versuchen:
Wenn Sie Bash verwenden, kann es sein, dass Ihr .bash_profile
(oder ~/.profile
) Ihren ~/.bashrc
nicht richtig bezieht. Sie können dies beheben, indem Sie source ~/
hinzufügen oder den nächsten Schritt unten ausführen.
Versuchen Sie, das Snippet aus dem Installationsabschnitt, das das richtige NVM-Verzeichnis findet und NVM lädt, zu Ihrem üblichen Profil ( ~/.bash_profile
, ~/.zshrc
, ~/.profile
oder ~/.bashrc
) hinzuzufügen.
Weitere Informationen zu diesem Problem und möglichen Problemumgehungen finden Sie hier
Hinweis Für Macs mit dem Apple-Silicon-Chip bietet Node seit Version 16.0.0 arm64- Arch-Darwin-Pakete und seit Version 14.17.0 experimentelle Arm64- Unterstützung beim Kompilieren aus dem Quellcode an. Wenn bei der Installation des Knotens mit nvm
Probleme auftreten, möchten Sie möglicherweise auf eine dieser Versionen oder höher aktualisieren.
Sie können eine Aufgabe verwenden:
- Name: Install nvm ansible.builtin.shell: > curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | Bash-Argumente: erstellt: „{{ ansible_env.HOME }}/.nvm/nvm.sh“
Um zu überprüfen, ob nvm installiert wurde, gehen Sie wie folgt vor:
Befehl -v nvm
was nvm
ausgeben sollte, wenn die Installation erfolgreich war. Bitte beachten Sie, dass which nvm
nicht funktioniert, da nvm
eine Quell-Shell-Funktion und keine ausführbare Binärdatei ist.
Hinweis: Wenn Sie unter Linux nach der Ausführung des Installationsskripts nvm: command not found
erhalten oder nach Eingabe command -v nvm
keine Rückmeldung von Ihrem Terminal erhalten, schließen Sie einfach Ihr aktuelles Terminal, öffnen Sie ein neues Terminal und versuchen Sie es erneut.
Wenn Sie ein System betreiben, auf dem keine vorgefertigte Binärdatei verfügbar ist, was bedeutet, dass Sie node oder io.js aus dem Quellcode installieren, müssen Sie sicherstellen, dass Ihr System über einen C++-Compiler verfügt. Für OS X funktioniert Xcode, für Debian/Ubuntu-basiertes GNU/Linux funktionieren die Pakete build-essential
und libssl-dev
.
Hinweis: nvm
unterstützt in einigen Fällen auch Windows. Abhängig von der WSL-Version sollte es über WSL (Windows-Subsystem für Linux) funktionieren. Es sollte auch mit GitBash (MSYS) oder Cygwin funktionieren. Ansonsten gibt es für Windows einige Alternativen, die von uns weder unterstützt noch entwickelt werden:
nvm-windows
nodist
nvs
Hinweis: nvm
unterstützt Fish ebenfalls nicht (siehe #303). Es gibt Alternativen, die von uns weder unterstützt noch entwickelt werden:
Mit bass können Sie für Bash geschriebene Dienstprogramme in Fish Shell verwenden
fast-nvm-fish funktioniert nur mit Versionsnummern (keine Aliase), verlangsamt aber den Start Ihrer Shell nicht wesentlich
Plugin-NVM-Plugin für Oh My Fish, das NVM und seine Vervollständigungen in Fish Shell verfügbar macht
fnm – Fisherman-basierter Versionsmanager für Fische
fish-nvm – Wrapper um NVM für Fisch, verzögert die Beschaffung von NVM, bis es tatsächlich verwendet wird.
Hinweis: Wir haben immer noch einige Probleme mit FreeBSD, da es keine offizielle vorgefertigte Binärdatei für FreeBSD gibt und für die Erstellung aus dem Quellcode möglicherweise Patches erforderlich sind. siehe Ausgabeticket:
[#900] [Bug]-Knoten unter FreeBSD muss möglicherweise gepatcht werden
nodejs/node#3716
Hinweis: Wenn Sie unter OS X Xcode nicht installiert haben und die ca. 4,3 GB große Datei nicht herunterladen möchten, können Sie die Command Line Tools
installieren. In diesem Blogbeitrag erfahren Sie, wie das geht:
So installieren Sie Befehlszeilentools in OS X Mavericks und Yosemite (ohne Xcode)
Hinweis: Wenn Sie unter OS X einen „System“-Knoten installiert haben/hatten und Module global installieren möchten, beachten Sie Folgendes:
Wenn Sie nvm
verwenden, benötigen Sie sudo
nicht, um ein Modul global mit npm -g
zu installieren. Führen Sie also anstelle von sudo npm install -g grunt
stattdessen npm install -g grunt
aus
Wenn Sie eine ~/.npmrc
Datei haben, stellen Sie sicher, dass diese keine prefix
enthält (was nicht mit nvm
kompatibel ist).
Sie können (sollten aber nicht?) Ihre vorherige „System“-Knoteninstallation beibehalten, aber nvm
ist nur für Ihr Benutzerkonto verfügbar (dasjenige, mit dem NVM installiert wurde). Dies kann zu Versionskonflikten führen, da andere Benutzer /usr/local/lib/node_modules/*
verwenden und Ihr Benutzerkonto ~/.nvm/versions/node/vX.XX/lib/node_modules/*
verwendet.
Die Homebrew-Installation wird nicht unterstützt. Wenn Sie Probleme mit dem von Homebrew installierten nvm
haben, brew uninstall
es bitte und installieren Sie es mithilfe der folgenden Anweisungen, bevor Sie ein Problem melden.
Hinweis: Wenn Sie zsh
verwenden, können Sie nvm
problemlos als zsh-Plugin installieren. Installieren Sie zsh-nvm
und führen Sie nvm upgrade
aus, um ein Upgrade durchzuführen.
Hinweis: Bei Git-Versionen vor Version 1.7 kann es beim Klonen von nvm
Quellen von GitHub über das https-Protokoll zu Problemen kommen. Außerdem gibt es bei Git vor Version 1.6 ein anderes Verhalten, und Git vor Version 1.17.10 kann keine Tags klonen, also das Minimum Die erforderliche Git-Version ist v1.7.10. Wenn Sie an dem hier erwähnten Problem interessiert sind, lesen Sie bitte den Artikel zu Fehlern beim HTTPS-Klonen von GitHub.
Wenn Sie git
installiert haben (erfordert Git v1.7.10+):
Klonen Sie dieses Repo im Stammverzeichnis Ihres Benutzerprofils
cd ~/
von irgendwoher, dann git clone https://github.com/nvm-sh/nvm.git .nvm
cd ~/.nvm
und schauen Sie sich die neueste Version mit git checkout v0.40.1
an
Aktivieren Sie nvm
, indem Sie es von Ihrer Shell beziehen: . ./nvm.sh
Fügen Sie nun diese Zeilen zu Ihrer Datei ~/.bashrc
, ~/.profile
oder ~/.zshrc
hinzu, damit sie beim Anmelden automatisch als Quelle verwendet wird: (Möglicherweise müssen Sie mehr als eine der oben genannten Dateien hinzufügen.)
export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Dies lädt nvm[ -s "$NVM_DIR/bash_completion" ] && . „$NVM_DIR/bash_completion“ # Dies lädt nvm bash_completion
Für eine vollständig manuelle Installation führen Sie die folgenden Zeilen aus, um zunächst das nvm
Repository in $HOME/.nvm
zu klonen und dann nvm
zu laden:
export NVM_DIR="$HOME/.nvm" && ( Git-Klon https://github.com/nvm-sh/nvm.git „$NVM_DIR“ cd „$NVM_DIR“ git checkout `git beschreiben --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`) && . „$NVM_DIR/nvm.sh“
Fügen Sie nun diese Zeilen zu Ihrer Datei ~/.bashrc
, ~/.profile
oder ~/.zshrc
hinzu, damit sie beim Anmelden automatisch als Quelle verwendet wird: (Möglicherweise müssen Sie mehr als eine der oben genannten Dateien hinzufügen.)
export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Dies lädt nvm[ -s "$NVM_DIR/bash_completion" ] && . „$NVM_DIR/bash_completion“ # Dies lädt nvm bash_completion
Für manuelles Upgrade mit git
(erfordert Git v1.7.10+):
Wechseln Sie zum $NVM_DIR
Ziehen Sie die neuesten Änderungen herunter
Schauen Sie sich die neueste Version an
Aktivieren Sie die neue Version
( cd „$NVM_DIR“ git fetch --tags origin git checkout `git beschreiben --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`) && . „$NVM_DIR/nvm.sh“
Gehen Sie wie folgt vor, um die neueste Version von Node herunterzuladen, zu kompilieren und zu installieren:
NVM-Installationsknoten # „node“ ist ein Alias für die neueste Version
So installieren Sie eine bestimmte Knotenversion:
nvm install 14.7.0 # oder 16.3.0, 12.22.1 usw
So legen Sie einen Alias fest:
nvm-Alias my_alias v14.4.0
Stellen Sie sicher, dass Ihr Alias keine Leerzeichen oder Schrägstriche enthält.
Die erste installierte Version wird zur Standardversion. Neue Shells beginnen mit der Standardversion des Knotens (z. B. nvm alias default
).
Sie können verfügbare Versionen mit ls-remote
auflisten:
nvm ls-remote
Und dann verwenden Sie in jeder neuen Shell einfach die installierte Version:
NVM-Nutzungsknoten
Oder Sie können es einfach ausführen:
nvm run node --version
Oder Sie können einen beliebigen Befehl in einer Subshell mit der gewünschten Version von node ausführen:
nvm exec 4.2 Knoten --version
Sie können auch den Pfad zur ausführbaren Datei abrufen, in dem sie installiert wurde:
nvm welche 12.22
Anstelle eines Versionszeigers wie „14.7“ oder „16.3“ oder „12.22.1“ können Sie die folgenden speziellen Standardaliase mit nvm install
, nvm use
, nvm run
, nvm exec
, nvm which
usw. verwenden:
node
: Dadurch wird die neueste Version von node
installiert
iojs
: Dadurch wird die neueste Version von io.js
installiert
stable
: Dieser Alias ist veraltet und gilt nur für node
v0.12
und früher. Derzeit ist dies ein Alias für node
.
unstable
: Dieser Alias verweist auf node
v0.11
– die letzte „instabile“ Knotenversion, seit Post-1.0 sind alle Knotenversionen stabil. (In SemVer kommunizieren Versionen Bruch, nicht Stabilität).
Der Knoten verfügt über einen Zeitplan für Langzeitunterstützung (LTS). Sie können LTS-Versionen in Aliasen und .nvmrc
Dateien mit der Notation lts/*
für die neuesten LTS und lts/argon
für LTS-Versionen beispielsweise aus der Zeile „argon“ referenzieren . Darüber hinaus unterstützen die folgenden Befehle LTS-Argumente:
nvm install --lts
/ nvm install --lts=argon
/ nvm install 'lts/*'
/ nvm install lts/argon
nvm uninstall --lts
/ nvm uninstall --lts=argon
/ nvm uninstall 'lts/*'
/ nvm uninstall lts/argon
nvm use --lts
/ nvm use --lts=argon
/ nvm use 'lts/*'
/ nvm use lts/argon
nvm exec --lts
/ nvm exec --lts=argon
/ nvm exec 'lts/*'
/ nvm exec lts/argon
nvm run --lts
/ nvm run --lts=argon
/ nvm run 'lts/*'
/ nvm run lts/argon
nvm ls-remote --lts
/ nvm ls-remote --lts=argon
nvm ls-remote 'lts/*'
/ nvm ls-remote lts/argon
nvm version-remote --lts
/ nvm version-remote --lts=argon
/ nvm version-remote 'lts/*'
/ nvm version-remote lts/argon
Jedes Mal, wenn Ihre lokale Kopie von nvm
eine Verbindung zu https://nodejs.org herstellt, werden die entsprechenden lokalen Aliase für alle verfügbaren LTS-Leitungen neu erstellt. Diese Aliase (gespeichert unter $NVM_DIR/alias/lts
) werden von nvm
verwaltet und Sie sollten diese Dateien nicht ändern, entfernen oder erstellen. Gehen Sie davon aus, dass Ihre Änderungen rückgängig gemacht werden, und rechnen Sie damit, dass das Eingreifen in diese Dateien zu Fehlern führt, die wahrscheinlich zu Fehlern führen nicht unterstützt werden.
Um die neueste LTS-Version von Node zu erhalten und Ihre vorhandenen installierten Pakete zu migrieren, verwenden Sie
nvm install --reinstall-packages-from=current 'lts/*'
Wenn Sie eine neue Version von Node.js installieren und npm-Pakete von einer früheren Version migrieren möchten:
nvm install --reinstall-packages-from=node node
Dabei wird zunächst „nvm version node“ verwendet, um die aktuelle Version zu identifizieren, von der Sie Pakete migrieren. Dann löst es die neue Version auf, die vom Remote-Server installiert werden soll, und installiert sie. Zuletzt führt es „nvm reinstall-packages“ aus, um die npm-Pakete von Ihrer vorherigen Node-Version auf die neue neu zu installieren.
Sie können npm-Pakete auch wie folgt von bestimmten Versionen von Node installieren und migrieren:
nvm install --reinstall-packages-from=5 6 nvm install --reinstall-packages-from=iojs v4.2
Beachten Sie, dass durch die Neuinstallation von Paketen die npm-Version explizit nicht aktualisiert wird . Dadurch soll sichergestellt werden, dass npm nicht versehentlich auf eine fehlerhafte Version für die neue Knotenversion aktualisiert wird.
Um npm gleichzeitig zu aktualisieren, fügen Sie das Flag --latest-npm
hinzu, etwa so:
nvm install --reinstall-packages-from=default --latest-npm 'lts/*'
Alternativ können Sie jederzeit den folgenden Befehl ausführen, um die neueste unterstützte npm-Version auf der aktuellen Knotenversion abzurufen:
nvm install-latest-npm
Wenn Sie bereits die Fehlermeldung „npm unterstützt Node.js nicht“ erhalten haben, müssen Sie (1) zu einer früheren Knotenversion zurückkehren ( nvm ls
& nvm use
), (2) löschen Sie die neu erstellte Knotenversion ( nvm uninstall
), dann (3) führen Sie Ihre nvm install
mit dem Flag --latest-npm
erneut aus.
Wenn Sie bei jeder Installation einer neuen Version eine Liste mit Standardpaketen haben, die Sie installieren möchten, unterstützen wir dies ebenfalls – fügen Sie einfach die Paketnamen, einen pro Zeile, zur Datei $NVM_DIR/default-packages
hinzu. Sie können in der Befehlszeile alles hinzufügen, was npm als Paketargument akzeptieren würde.
# $NVM_DIR/default-packagesrimraf [email protected] stevemao/linkes Pad
Wenn Sie io.js installieren möchten:
nvm installiert iojs
Wenn Sie eine neue Version von io.js installieren und npm-Pakete von einer früheren Version migrieren möchten:
nvm install --reinstall-packages-from=iojs iojs
Die gleichen Richtlinien, die für die Migration von npm-Paketen im Knoten erwähnt wurden, gelten für io.js.
Wenn Sie die vom System installierte Version von Node verwenden möchten, können Sie den speziellen Standardalias „system“ verwenden:
NVM-Nutzungssystem nvm run system --version
Wenn Sie sehen möchten, welche Versionen installiert sind:
nvm ls
Wenn Sie sehen möchten, welche Versionen zur Installation verfügbar sind:
nvm ls-remote
Sie können fünf Farben festlegen, die zur Anzeige von Versions- und Aliasinformationen verwendet werden. Diese Farben ersetzen die Standardfarben. Die Anfangsfarben sind: Gbyre
Farbcodes:
r/R = red / bold red g/G = green / bold green b/B = blue / bold blue c/C = cyan / bold cyan m/M = magenta / bold magenta y/Y = yellow / bold yellow k/K = black / bold black e/W = light grey / white
nvm set-colors rgBcm
Wenn Sie möchten, dass die benutzerdefinierten Farben nach dem Beenden der Shell bestehen bleiben, exportieren Sie die Variable NVM_COLORS
in Ihr Shell-Profil. Wenn Sie beispielsweise Cyan, Magenta, Grün, kräftiges Rot und kräftiges Gelb verwenden möchten, fügen Sie die folgende Zeile hinzu:
export NVM_COLORS='cmgRY'
nvm help (or -h or --help)
, nvm ls
, nvm ls-remote
und nvm alias
erzeugen normalerweise eine kolorierte Ausgabe. Sie können Farben mit der Option --no-colors
deaktivieren (oder indem Sie die Umgebungsvariable TERM=dumb
setzen):
nvm ls --no-colors NVM-Hilfe --no-colors TERM=dumb nvm ls
Um Ihren PATH wiederherzustellen, können Sie ihn deaktivieren:
nvm deaktivieren
Um eine Standardknotenversion festzulegen, die in jeder neuen Shell verwendet werden soll, verwenden Sie den Alias „default“:
NVM-Alias-Standardknoten # Dies bezieht sich auf die neueste installierte Version von NodenVM-Alias-Standard 18 # Dies bezieht sich auf die neueste installierte Version v18.x von NodenVM-Alias-Standard 18.12 # Dies bezieht sich auf die neueste installierte Version v18.12.x des Knotens
Um einen Spiegel der Knotenbinärdateien zu verwenden, legen Sie $NVM_NODEJS_ORG_MIRROR
fest:
exportieren Sie NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist NVM-Installationsknoten NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist nvm install 4.2
Um einen Spiegel der io.js-Binärdateien zu verwenden, legen Sie $NVM_IOJS_ORG_MIRROR
fest:
exportieren Sie NVM_IOJS_ORG_MIRROR=https://iojs.org/dist NVM installiert iojs-v1.0.3 NVM_IOJS_ORG_MIRROR=https://iojs.org/dist nvm install iojs-v1.0.3
nvm use
erstellt standardmäßig keinen „aktuellen“ Symlink. Setzen Sie $NVM_SYMLINK_CURRENT
auf „true“, um dieses Verhalten zu aktivieren, das manchmal für IDEs nützlich ist. Beachten Sie, dass die Verwendung nvm
in mehreren Shell-Registerkarten mit aktivierter Umgebungsvariable zu Rennbedingungen führen kann.
Um einen Autorisierungsheader an die Spiegel-URL weiterzuleiten, legen Sie $NVM_AUTH_HEADER
fest
NVM_AUTH_HEADER="Bearer Secret-Token" NVM-Installationsknoten
Sie können eine .nvmrc
Datei mit einer Knotenversionsnummer (oder einer anderen Zeichenfolge, die nvm
versteht; Einzelheiten finden Sie unter nvm --help
) im Projektstammverzeichnis (oder einem beliebigen übergeordneten Verzeichnis) erstellen. Anschließend verwenden nvm use
, nvm install
, nvm exec
, nvm run
und nvm which
in der .nvmrc
Datei angegebene Version, wenn in der Befehlszeile keine Version angegeben wird.
Um beispielsweise nvm standardmäßig auf die neueste Version 5.9, die neueste LTS-Version oder die neueste Knotenversion für das aktuelle Verzeichnis festzulegen:
$ echo "5.9" > .nvmrc $ echo "lts/*" > .nvmrc # standardmäßig auf die neueste LTS-Version umstellen $ echo "node" > .nvmrc # standardmäßig auf die neueste Version umstellen
[Hinweis: Bei diesen Beispielen wird von einer POSIX-kompatiblen Shell-Version von echo
ausgegangen. Wenn Sie eine Windows- cmd
Entwicklungsumgebung verwenden, z. B. wird die .nvmrc
Datei zum Konfigurieren einer Remote-Linux-Bereitstellung verwendet, dann denken Sie daran, dass die "
s kopiert werden, was zu einer ungültigen Datei führt. Entfernen Sie sie.]
Wenn Sie dann nvm ausführen, verwenden Sie Folgendes:
$ nvm verwenden Gefunden „/path/to/project/.nvmrc“ mit Version <5.9>Verwendet jetzt Knoten v5.9.1 (npm v3.7.3)
Wenn Sie „nvm install“ ausführen, wird ebenfalls auf die richtige Version umgeschaltet, aber wenn die richtige Knotenversion noch nicht installiert ist, wird sie für Sie installiert.
$ nvm installieren Gefunden „/path/to/project/.nvmrc“ mit Version <5.9>Knoten v5.9.1 wird heruntergeladen und installiert... Herunterladen von https://nodejs.org/dist/v5.9.1/node-v5.9.1-linux-x64.tar.xz...################### ############################################### ############### 100,0 % Prüfsumme wird mit sha256sum berechnet Prüfsummen stimmen überein! Jetzt mit Node v5.9.1 (npm v3.7.3)
nvm use
et. al. durchläuft die Verzeichnisstruktur vom aktuellen Verzeichnis nach oben und sucht nach der .nvmrc
Datei. Mit anderen Worten: Wenn Sie nvm use
et. al. in einem beliebigen Unterverzeichnis eines Verzeichnisses mit einer .nvmrc
führt dazu, dass diese .nvmrc
verwendet wird.
Der Inhalt einer .nvmrc
Datei muss genau eine
(wie durch nvm --help
beschrieben) enthalten, gefolgt von einer neuen Zeile. .nvmrc
Dateien können auch Kommentare enthalten. Das Kommentartrennzeichen ist #
und es und jeglicher Text danach sowie Leerzeilen und führende und nachfolgende Leerzeichen werden beim Parsen ignoriert.
Schlüssel/Wert-Paare mit =
sind ebenfalls zulässig und werden ignoriert, sind jedoch für die zukünftige Verwendung reserviert und können in der Zukunft zu Validierungsfehlern führen.
Führen Sie npx nvmrc
aus, um eine .nvmrc
Datei zu validieren. Wenn die Ergebnisse dieses Tools nicht mit denen von nvm übereinstimmen, liegt bei dem einen oder anderen ein Fehler vor – melden Sie bitte ein Problem.
Sie können avn
verwenden, um sich tief in Ihre Shell zu integrieren und nvm
automatisch aufzurufen, wenn Sie Verzeichnisse wechseln. avn
wird von den nvm
Betreuern nicht unterstützt. Bitte melden Sie Probleme dem avn
-Team.
Sie können nvshim
auch verwenden, um die node
, npm
und npx
Bins abzugleichen, um automatisch die nvm
Konfiguration im aktuellen Verzeichnis zu verwenden. nvshim
wird von den nvm
Betreuern nicht unterstützt. Bitte melden Sie Probleme dem nvshim
-Team.
Wenn Sie eine leichtere Lösung bevorzugen, wurden die folgenden Rezepte von nvm
-Benutzern beigesteuert. Sie werden von den nvm
Betreuern nicht unterstützt. Wir akzeptieren jedoch Pull-Anfragen für weitere Beispiele.
nvm use
automatisch in einem Verzeichnis mit einer .nvmrc
Datei Fügen Sie in Ihrem Profil ( ~/.bash_profile
, ~/.zshrc
, ~/.profile
oder ~/.bashrc
) Folgendes zu nvm use
hinzu, wenn Sie ein neues Verzeichnis betreten:
Fügen Sie am Ende Ihres $HOME/.bashrc
Folgendes ein:
cdnvm() { Befehl cd "$@" || $ zurückgeben? nvm_path="$(nvm_find_up .nvmrc | command tr -d 'n')" # Wenn keine .nvmrc-Datei vorhanden ist, verwenden Sie die Standard-NVM-Version, wenn [[ ! $nvm_path = *[^[:space:]]* ]]; Dann deklarieren Sie default_version default_version="$(nvm version default)" # Wenn es keine Standardversion gibt, setzen Sie sie auf „node“ # Dadurch wird die neueste Version auf Ihrem Computer verwendet, wenn [ $default_version = 'N/A' ]; Dann NVM-Alias-Standardknoten default_version=$(nvm version default) fi # Wenn die aktuelle Version nicht die Standardversion ist, stellen Sie sie so ein, dass sie die Standardversion verwendet if [ "$(nvm current)" != "${default_version}" ]; Dann nvm use default fi elif [[ -s "${nvm_path}/.nvmrc" && -r "${nvm_path}/.nvmrc" ]]; Dann deklarieren Sie nvm_version nvm_version=$(<"${nvm_path}"/.nvmrc) deklariere local_resolved_nvm_version # `nvm ls` prüft alle lokal verfügbaren Versionen # Wenn es mehrere übereinstimmende Versionen gibt, nimm die neueste # Entfernen Sie `->` und ` *` Zeichen und Leerzeichen # „locally_resolved_nvm_version“ ist „N/A“, wenn keine lokalen Versionen gefunden werden local_resolved_nvm_version=$(nvm ls --no-colors "${nvm_version}" | command tail -1 | command tr -d '->*' | command tr -d '[:space:]') # Wenn ja noch nicht installiert, installieren Sie es # `nvm install` verwendet implizit die neu installierte Version if [ "${locally_resolved_nvm_version}" = 'N/A' ]; Dann nvm install „${nvm_version}“; elif [ "$(nvm current)" != "${locally_resolved_nvm_version}" ]; Dann nvm use „${nvm_version}“; fi fi}alias cd='cdnvm'cdnvm "$PWD" || Ausfahrt
Dieser Alias würde Ihr aktuelles Verzeichnis nach oben durchsuchen, um eine .nvmrc
Datei zu erkennen. Wenn es es findet, wechselt es zu dieser Version; andernfalls wird die Standardversion verwendet.
Diese Shell-Funktion installiert (falls erforderlich) und nvm use
die angegebene Knotenversion, wenn eine .nvmrc
gefunden wird, andernfalls nvm use default
.
Fügen Sie dies in Ihr $HOME/.zshrc
ein, um nvm use
automatisch aufzurufen, wenn Sie ein Verzeichnis betreten, das eine .nvmrc
Datei mit einer Zeichenfolge enthält, die nvm mitteilt, welcher Knoten use
soll:
# platziere dies nach der NVM-Initialisierung!autoload -U add-zsh-hookload-nvmrc() { local nvmrc_path nvmrc_path="$(nvm_find_nvmrc)" if [ -n "$nvmrc_path" ]; dann lokale nvmrc_node_version nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")") if [ "$nvmrc_node_version" = "N/A" ]; Dann nvm install elif [ "$nvmrc_node_version" != "$(nvm version)" ]; Dann nvm use fi elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; dann echo „Zurück zur NVM-Standardversion“ nvm verwendet Standard-Fi} add-zsh-hook chpwd load-nvmrc Load-nvmrc
Voraussetzung hierfür ist, dass Sie einen Bass installiert haben.
# ~/.config/fish/functions/nvm.fishfunction nvm Bassquelle ~/.nvm/nvm.sh --no-use ';' nvm $argvend# ~/.config/fish/functions/nvm_find_nvmrc.fishfunction nvm_find_nvmrc Bassquelle ~/.nvm/nvm.sh --no-use ';' nvm_find_nvmrcend# ~/.config/fish/functions/load_nvm.fishfunction load_nvm --on-variable="PWD" set -l default_node_version (NVM-Versionsstandard) set -l node_version (NVM-Version) set -l nvmrc_path (nvm_find_nvmrc) wenn test -n „$nvmrc_path“ set -l nvmrc_node_version (nvm-Version (cat $nvmrc_path)) if test „$nvmrc_node_version“ = „N/A“ nvm install (cat $nvmrc_path) else if test „$nvmrc_node_version“ != „$node_version“ nvm use $nvmrc_node_version end else if test "$node_version" != "$default_node_version" echo "Zurück zur Standardknotenversion" nvm use default endend# ~/.config/fish/config.fish# Sie müssen es bei der Initialisierung aufrufen, sonst wird das Abhören des Verzeichniswechsels nicht funktionieren. workload_nvm > /dev/stderr
Tests werden in Urchin geschrieben. Installieren Sie Urchin (und andere Abhängigkeiten) wie folgt:
npm install
Es gibt langsame Tests und schnelle Tests. Bei den langsamen Tests werden beispielsweise Knoten installiert und überprüft, ob die richtigen Versionen verwendet werden. Die Schnelltests täuschen dies vor, um Dinge wie Aliase und Deinstallation zu testen. Führen Sie im Stammverzeichnis des NVM-Git-Repositorys die Schnelltests wie folgt aus:
npm run test/fast
Führen Sie die langsamen Tests wie folgt aus:
npm run test/slow
Führen Sie alle Tests wie folgt durch:
npm test
Hinweis: Vermeiden Sie die Ausführung von nvm, während die Tests ausgeführt werden.
nvm stellt die folgenden Umgebungsvariablen bereit:
NVM_DIR
– NVM-Installationsverzeichnis.
NVM_BIN
– Hier werden Knoten-, NPM- und globale Pakete für die aktive Version des Knotens installiert.
NVM_INC
– Include-Dateiverzeichnis des Knotens (nützlich zum Erstellen von C/C++-Add-ons für den Knoten).
NVM_CD_FLAGS
– wird verwendet, um die Kompatibilität mit zsh aufrechtzuerhalten.
NVM_RC_VERSION
– Version aus der .nvmrc-Datei, falls verwendet.
Darüber hinaus ändert nvm PATH
und, falls vorhanden, MANPATH
und NODE_PATH
beim Versionswechsel.
Zum Aktivieren müssen Sie bash_completion
als Quelle angeben:
[[ -r $NVM_DIR/bash_completion ]] && . $NVM_DIR/bash_completion
Platzieren Sie die obige Sourcing-Zeile direkt unter der Sourcing-Zeile für NVM in Ihrem Profil ( .bashrc
, .bash_profile
).
nvm:
$ nvm
Tab
Alias deaktivieren Sie die Installationsliste-Remote-Neuinstallationspakete und deinstallieren Sie die Version Cache exec install-latest-npm ls run unload version-remote aktuelle Hilfeliste ls-remote unalias use which
NVM-Alias:
$ nvm alias
Tab
Standard iojs lts/* lts/argon lts/boron lts/carbon lts/dubnium lts/erbium Knoten stabil instabil
$ nvm alias my_alias
Tab
v10.22.0 v12.18.3 v14.8.0
NVM-Verwendung:
$ nvm Tab
$ nvm use
my_alias default v10.22.0 v12.18.3 v14.8.0
NVM-Deinstallation:
$ nvm uninstall
Tab
my_alias default v10.22.0 v12.18.3 v14.8.0
nvm
wird auf einige Probleme stoßen, wenn Sie einige nicht standardmäßige Einstellungen festgelegt haben. (siehe Nr. 606) Folgendes kann bekanntermaßen Probleme verursachen:
Innerhalb ~/.npmrc
:
prefix='some/path'
Umgebungsvariablen:
$NPM_CONFIG_PREFIX$PREFIX
Shell-Einstellungen:
set -e
Um die beste Leistung (und andere Optimierungen) bereitzustellen, lädt nvm vorkompilierte Binärdateien für Node (und npm) herunter und installiert sie, wenn Sie nvm install X
ausführen. Das Node-Projekt kompiliert, testet und hostet/stellt diese vorkompilierten Binärdateien bereit, die für Mainstream-/traditionelle Linux-Distributionen (wie Debian, Ubuntu, CentOS, RedHat et al.) erstellt wurden.
Alpine Linux basiert im Gegensatz zu Mainstream-/traditionellen Linux-Distributionen auf BusyBox, einer sehr kompakten (~5 MB) Linux-Distribution. BusyBox (und damit Alpine Linux) verwendet einen anderen C/C++-Stack als die meisten Mainstream-/traditionellen Linux-Distributionen – musl. Dies führt dazu, dass Binärprogramme, die für solche Mainstream-/traditionellen Anwendungen entwickelt wurden, nicht mit Alpine Linux kompatibel sind. Daher können wir nicht einfach nvm install X
und erwarten, dass die heruntergeladene Binärdatei ordnungsgemäß ausgeführt wird – Sie werden wahrscheinlich die Fehlermeldung „...existiert nicht“ sehen, wenn Sie dies tun Versuchen Sie das.
Es gibt ein Flag -s
für nvm install
, das NVM auffordert, die Knotenquelle herunterzuladen und lokal zu kompilieren.
Wenn Sie nvm unter Alpine Linux immer noch installieren möchten oder müssen, sollten Sie dies erreichen können, indem Sie Folgendes in Ihrer Alpine Linux-Shell ausführen, je nachdem, welche Version Sie verwenden:
apk add -U curl bash ca-certificates openssl ncurses coreutils python3 make gcc g++ libgcc linux-headers grep util-linux binutils findutils curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
apk add -U curl bash ca-certificates openssl ncurses coreutils python2 make gcc g++ libgcc linux-headers grep util-linux binutils findutils curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
Hinweis: Alpine 3.5 kann nur NodeJS-Versionen bis v6.9.5 installieren, Alpine 3.6 kann nur Versionen bis v6.10.3 installieren, Alpine 3.7 installiert Versionen bis v8.9.3, Alpine 3.8 installiert Versionen bis v8.14.0, Alpine 3.9 installiert Versionen bis v10.19.0, Alpine 3.10 installiert Versionen bis v10.24.1, Alpine 3.11 installiert Versionen bis v12.22.6, Alpine 3.12 installiert Versionen bis v12.22.12, Alpine 3.13 und 3.14 installiert Versionen bis v14.20.0, Alpine 3.15 und 3.16 installieren Versionen bis v16.16.0 ( Dies sind alle Versionen im Hauptzweig ). Für Alpine 3.5 – 3.12 war das Paket python2
zum Erstellen von NodeJS erforderlich, da es sich bei der Erstellung um ältere Versionen handelt. Alpine 3.13+ erfordert python3
, um erfolgreich neuere NodeJS-Versionen zu erstellen. Sie können python2
jedoch mit Alpine 3.13+ verwenden, wenn Sie in Alpine 3.5–3.15 unterstützte Node-Versionen erstellen müssen. Sie müssen lediglich angeben, in welcher Version von NodeJS Sie installieren müssen das Paketinstallationsskript.
Das Node-Projekt hat einen gewissen Wunsch, aber keine konkreten Pläne (aufgrund des Aufwands für Erstellung, Tests und Support), Alpine-kompatible Binärdateien anzubieten.
Als mögliche Alternative bietet @mhart (ein Node-Mitarbeiter) einige Docker-Images für Alpine Linux mit Node und optional npm vorinstalliert an.
Um nvm
manuell zu entfernen, führen Sie Folgendes aus:
Entfernen Sie zunächst mit nvm unload
den nvm-Befehl aus Ihrer Terminalsitzung und löschen Sie das Installationsverzeichnis:
$ nvm_dir="${NVM_DIR:-~/.nvm}"$ nvm entladen $ rm -rf "$nvm_dir"
Bearbeiten Sie ~/.bashrc
(oder eine andere Shell-Ressourcenkonfiguration) und entfernen Sie die folgenden Zeilen:
export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Dies lädt nvm[[ -r $NVM_DIR/bash_completion ]] && . $NVM_DIR/bash_completion
Um die Entwicklungs- und Testarbeit zu vereinfachen, verfügen wir über eine Docker-Datei für die Entwicklungsverwendung, die auf dem Basis-Image von Ubuntu 18.04 basiert und mit wesentlichen und nützlichen Tools für nvm
Entwicklung vorbereitet ist. Um das Docker-Image der Umgebung zu erstellen, führen Sie den Docker-Befehl unter aus das Stammverzeichnis des nvm
Repositorys:
$ docker build -t nvm-dev .
Dadurch wird Ihr aktuelles NVM-Repository mit unserer vordefinierten Entwicklungsumgebung in ein Docker-Image namens nvm-dev
gepackt. Sobald es erfolgreich erstellt wurde, validieren Sie Ihr Image über docker images
:
$ Docker-Bilder REPOSITORY-TAG-BILD-ID ERSTELLTE GRÖSSE nvm-dev neueste 9ca4c57a97d8 vor 7 Tagen 650 MB
Wenn Sie keine Fehlermeldung erhalten, können Sie jetzt ganz einfach Folgendes tun:
$ docker run -h nvm-dev -it nvm-dev nvm@nvm-dev:~/.nvm$
Bitte beachten Sie, dass die Erstellung des Bildes etwa 8 Minuten dauert und die Bildgröße etwa 650 MB betragen würde, sodass es nicht für den Produktionseinsatz geeignet ist.
Weitere Informationen und Dokumentation zu Docker finden Sie auf der offiziellen Website:
https://www.docker.com/
https://docs.docker.com/
Wenn Sie versuchen, eine Knotenversion zu installieren und die Installation fehlschlägt, führen Sie unbedingt nvm cache clear
aus, um zwischengespeicherte Knoten-Downloads zu löschen. Andernfalls erhalten Sie möglicherweise eine Fehlermeldung wie die folgende:
curl: (33) Der HTTP-Server scheint keine Bytebereiche zu unterstützen. Kann nicht fortgesetzt werden.
Wo ist mein sudo node
? Schauen Sie sich #43 an
Nach der Veröffentlichung von Node v0.8.6 versucht nvm, aus Binärpaketen zu installieren. Aber auf einigen Systemen funktionieren die offiziellen Binärpakete aufgrund der Inkompatibilität gemeinsam genutzter Bibliotheken nicht. Verwenden Sie in solchen Fällen die Option -s
, um die Installation von der Quelle zu erzwingen:
nvm install -s 0.8.6
Wenn das Festlegen des default
-Alias die Knotenversion nicht in neuen Shells (dh nvm current
ERGEWERTUNGS system
) festlegt, stellen Sie sicher, dass der PATH
des Systems vor der nvm.sh
-Quellzeile in Ihrem Shell -Profil eingestellt ist (siehe #658)
NVM -Knotenversion nicht in Vim Shell gefunden
Wenn Sie die Knotenversion auf eine andere Version als Ihre Systemknotenversion nvm use 6.2.1
und öffnen Sie VIM und rennen :!node -v
Sie sollten v6.2.1
sehen, wenn Sie Ihre Systemversion v0.12.7
sehen. Sie müssen rennen:
sudo chmod ugo-x/usr/libexec/path_helper
Mehr zu diesem Thema in Dotphiles/dotzsh.
NVM ist nicht mit der Option NPM -Konfiguration "Präfix" kompatibel
Einige Lösungen für dieses Problem finden Sie hier
Es gibt einen weiteren Rand -Fall, der dieses Problem verursacht, und das ist ein Missverhältnis zwischen dem $HOME
-Pfad und dem tatsächlichen Namen des Benutzers .
Sie müssen sicherstellen, dass der Name des Benutzerverzeichnisses in $HOME
und den Namen des Benutzerverzeichnisses, den Sie sehen würden, aus dem Ausführen von ls /Users/
auf die gleiche Weise aktiviert werden (siehe dieses Problem).
Um das Benutzerverzeichnis und/oder den Kontonamen zu ändern, folgen Sie hier den Anweisungen
Homebrew macht ZSH -Verzeichnisse unsicher
ZSH Compinit: Unsichere Verzeichnisse, leiten Sie Compudit für die Liste aus. Ignorieren Sie unsichere Verzeichnisse und setzen Sie sich fort oder in Kombination [n]? j
Homebrew verursacht unsichere Verzeichnisse wie /usr/local/share/zsh/site-functions
und /usr/local/share/zsh
. Dies ist kein nvm
-Problem - es ist ein Homebrew -Problem. Weitere Lösungen im Zusammenhang mit dem Problem finden Sie hier.
Macs mit Apfel -Siliziumchips
Die experimentelle Unterstützung für die Apple Silicon Chip -Architektur wurde in Node.js v15.3 hinzugefügt, und die vollständige Unterstützung wurde in v16.0 hinzugefügt. Wenn Sie versuchen, ältere Knotenversionen wie gewohnt zu installieren, werden Sie wahrscheinlich entweder Kompilierungsfehler bei der Installation von Knoten oder außerhalb des Memory-Fehlers beim Ausführen Ihres Codes auftreten.
Wenn Sie also eine Version vor V16.0 auf einem Apple Silicon Mac ausführen möchten, ist es möglicherweise am besten, Knoten für die Intel-Architektur x86_64
zu kompilieren, damit Rosetta 2 die x86_64
-Prozessoranweisungen in ARM-basierte Apple Silicon-Anweisungen übersetzen kann. Folgendes müssen Sie tun:
Installieren Sie Rosetta, wenn Sie dies noch nicht getan haben
$ softwareUpdate-install-rosetta
Sie fragen sich vielleicht: "Woher wird mein Apple Silicon Mac Rosetta für eine Version des Knotens verwenden, die für einen Intel -Chip zusammengestellt wurden?" Wenn eine ausführbare Datei nur Intel -Anweisungen enthält, verwendet MacOS Rosetta automatisch, um die Anweisungen zu übersetzen.
Öffnen Sie eine Hülle, die mit Rosetta läuft
$ arch -x86_64 zsh
Hinweis: Das Gleiche kann auch erreicht werden, indem Sie die Terminal- oder Iterm -App in Finder finden, mit der rechten Maustaste klicken, "Info erhalten" und dann das mit Rosetta geöffnete Feld überprüft werden.
Hinweis: Diese Terminalsitzung wird jetzt in zsh
ausgeführt. Wenn zsh
nicht die Shell ist, die Sie normalerweise verwenden, ist nvm
möglicherweise nicht source
. D ist möglicherweise automatisch, wie es wahrscheinlich für Ihre übliche Hülle durch Ihre Dotfiles ist. Wenn dies der Fall ist, stellen Sie sicher, dass Sie nvm
beziehen.
$ source "$ {nvm_dir} /nvm.sh"
Installieren Sie die ältere Version des Knotens, an denen Sie interessiert sind. Lassen Sie uns als Beispiel 12.22.1 verwenden. Dadurch wird der Knotenquellcode abgerufen und er kompiliert, was einige Minuten dauert.
$ nvm install v12.22.1-Shared-Zlib
HINWEIS: Sie sind wahrscheinlich neugierig, warum --shared-zlib
ist enthalten. In den letzten Versionen von Apples System clang
Compiler gibt es einen Fehler. Wenn eine dieser defekten Versionen in Ihrem System installiert ist, ist der obige Schritt wahrscheinlich immer noch erfolgreich, selbst wenn Sie die --shared-zlib
-Flagge nicht einbezogen haben. Wenn Sie jedoch versuchen, etwas mit Ihrer alten Version von node.js zu npm install
, sehen Sie jedoch incorrect data check
. Wenn Sie den möglichen Aufwand vermeiden möchten, damit zu handhaben, schließen Sie diese Flagge an. Weitere Informationen finden Sie in dieser Ausgabe und in diesem Kommentar
Gib zurück zu deiner einheimischen Hülle.
$ exit $ arch ARM64
HINWEIS: Wenn Sie das Box mit der Bezeichnung "Öffnen mit Rosetta" ausgewählt haben, anstatt den CLI -Befehl im zweiten Schritt auszuführen, sehen Sie hier i386
. Wenn Sie nicht einen anderen Grund haben, diese Box auszuwählen, können Sie sie jetzt deaktivieren.
Überprüfen Sie, ob die Architektur korrekt ist. x64
ist die Abkürzung für x86_64
, was Sie sehen möchten.
$ node -p process.arch x64
Jetzt sollten Sie in der Lage sein, Knoten wie gewohnt zu verwenden.
Wenn Sie diesen Fehler auf WSL-2 aufgetreten sind:
curl -o- https://raw.githubuSercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash % Gesamt % % % XFERD Durchschnittliche Geschwindigkeitszeitlaufzeit Strom Strom D geladen laden die Gesamtgeschwindigkeit der verbrauchten linken Geschwindigkeit hoch. 0 0 0 0 0 0 0 0-:-:-0:00:09-:-:-0curl: (6) konnte Host nicht beheben: Raw.githubuSercontent.com
Dies kann an Ihr Antiviren, VPN oder andere Gründe zurückzuführen sein.
Wo Sie ping 8.8.8.8
können, während Sie ping google.com
Dies könnte einfach gelöst werden, indem dies in Ihrem Root -Verzeichnis ausgeführt wird:
sudo rm /etc/resolv.conf sudo bash -c 'echo "namerver 8.8.8.8"> /etc/resolv.conf'sudo bash -c' echo "[network]"> /etc/wsl.conf'sudo bash -c 'echo "generateresolvconf = false" >> /etc/wsl.conf'Sudo chattr +i /etc/resolv.conf
Dadurch löscht Ihre resolv.conf
Datei, die beim Ausführen von WSL automatisch generiert wird, eine neue Datei erstellt und nameserver 8.8.8.8
platziert, dann eine wsl.conf
Datei erstellt und [network]
und generateResolveConf = false
fügt, um die automatische Generation dieser zu verhindern. Datei.
Sie können den Inhalt der Datei durch Ausführen überprüfen:
cat /etc/resolv.conf
Derzeit ist der einzige Betreuer @ljharb - mehr Betriebe sind sehr willkommen, und wir hoffen, dass wir im Laufe der Zeit die Leute in das Team hinzufügen. Die Governance wird neu bewertet, wenn sich das Projekt entwickelt.
Zu diesem Zeitpunkt wird nur die neueste Version (V0.40.1) unterstützt.
Wenn Sie nicht in der Lage sind, die neueste Version von nvm
zu aktualisieren, bieten unsere Partner kommerzielle Sicherheitsfixes für alle nicht unterstützten Versionen an:
Herodevs nie endende Unterstützung
Siehe Lizenz.MD.
Copyright OpenJS Foundation und nvm
-Mitwirkende. Alle Rechte vorbehalten. Die OpenJS Foundation verfügt über eingetragene Marken und verwendet Marken. Eine Liste von Marken der OpenJS Foundation finden Sie in unserer Markenpolitik und Markenliste. Node.js ist eine Marke von Joyent, Inc. und wird mit seiner Erlaubnis verwendet. Marken und Logos, die auf der Liste der OpenJS Foundation -Marken nicht angegeben sind, sind Marken- oder Registrierungsmarke ihrer jeweiligen Inhaber. Die Verwendung von ihnen impliziert keine Zugehörigkeit zu oder die Bestätigung durch sie.
Die OpenJS Foundation | Nutzungsbedingungen | Datenschutzrichtlinie | OpenJS Foundation Bylaws | Markenpolitik | Markenliste | Cookie-Richtlinie