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 ~/<your_profile_file> 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 <your latest _working_ version from the ls> ), (2) löschen Sie die neu erstellte Knotenversion ( nvm uninstall <your _broken_ version of node from the ls> ), dann (3) führen Sie Ihre nvm install erneut mit dem aus --latest-npm Flag.
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 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 <version> (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, wenn [ "${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-nvmrcVoraussetzung 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)), wenn 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/stderrTests 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:
$ nvmTab
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 aliasTab
Standard iojs lts/* lts/argon lts/boron lts/carbon lts/dubnium lts/erbium Knoten stabil instabil
$ nvm alias my_aliasTab
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 uninstallTab
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 installiert Versionen bis v16.16.0 ( Dies sind alle Versionen auf der Hauptversion Zweig ). 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 Versionen von Knoten erstellen müssen, die in Alpine 3.5–3.15 unterstützt werden. 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 erleichtern, haben wir eine Dockerfile für die Entwicklung der Entwicklung, die auf Ubuntu 18.04 Basisbild basiert und mit wesentlichen und nützlichen Tools für nvm -Entwicklung vorbereitet wird, um das Docker -Bild der Umgebung aufzubauen Die Wurzel des nvm -Repositorys:
$ docker Build -t nvm -dev.
Dadurch wird Ihr aktuelles NVM-Repository mit unserer vordefinierten Entwicklungsumgebung in ein Docker-Bild namens nvm-dev verpackt, sobald es mit Erfolg aufgebaut ist, über docker images überdocken, sobald es mit Erfolg erstellt wurde:
$ Docker Bilder Repository -Tag -Bild -ID Erstellte Größe NVM-Dev Neueste 9CA4C57A97D8 vor 7 Tagen 650 MB
Wenn Sie keine Fehlermeldung erhalten haben, können Sie sich jetzt leicht einbeziehen:
$ docker run -h nvm -dev -it nvm -dev nvm@nvm-dev: ~/.nvm $
Bitte beachten Sie, dass das Erstellen des Bildes ungefähr 8 Minuten dauern wird und die Bildgröße etwa 650 MB beträgt, sodass es nicht für die Produktionsnutzung geeignet ist.
Weitere Informationen und Dokumentationen 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 nvm cache clear aus, um zwischengespeicherten Knoten -Downloads zu löschen, oder Sie erhalten möglicherweise einen Fehler wie folgt:
Curl: (33) HTTP -Server scheint Byte -Bereiche nicht zu unterstützen. Kann nicht wieder aufnehmen.
Wo ist mein sudo node ? Schauen Sie sich #43 an
Nach der V0.8.6 -Version des Knotens versucht NVM aus Binärpaketen zu installieren. In einigen Systemen funktionieren die offiziellen Binärpakete jedoch aufgrund der Inkompatibilität gemeinsamer Libellen nicht. Verwenden Sie in solchen Fällen die Option -s -Option, die Installation aus der Quelle zu erzwingen:
NVM Installation -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.comDies 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 alleinige Betreuer @ljharb - mehr Betriebe sind sehr willkommen, und wir hoffen, dass wir im Laufe der Zeit Leute zum 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