Unsere vorherige Übersetzung über die neuen Funktionen der 15. Version von Node.js wurde von den Lesern von Habr sehr gut aufgenommen. Daher haben wir uns heute entschlossen, das Thema fortzusetzen und Ihnen zu erklären, wie Sie NVM mit Version 15 von Node.js und NPM 7 konfigurieren .
Node.js Version 15 wurde am 20. Oktober 2020 veröffentlicht. Es wird mit npm 7 und vielen neuen Funktionen ausgeliefert. Haben Sie die neue Version bereits ausprobiert?
Aber warte eine Minute! Node.js 15 und npm 7 enthalten wichtige Änderungen. Würde das Upgrade dann nicht bestehenden Projekten schaden?
Theoretisch kann es weh tun!
Glücklicherweise haben wir NVM (Node Version Manager), um uns vor dieser Gefahr zu schützen. Schauen wir uns dieses Tool genauer an, um die Versionen von node.js und npm problemlos zu aktualisieren.
Installieren Sie NVM
nvm
verwaltet die Versionen node.js und npm. Es wird für einen bestimmten Benutzer installiert und kann für jede Shell separat aufgerufen werden.
nvm
funktioniert mit jeder POSIX-kompatiblen Shell (sh, dash, ksh, zsh, bash), einschließlich Plattformen: Unix, MacOS und Windows WSL.
nvm
kann mit den Befehlen curl oder wget installiert werden:
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash $ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
Script
install.sh
klont Repository NVM in
~/.nvm
und versucht , die Source - Leitungen aus dem folgende Fragmente in die gewünschten Profildatei (hinzuzufügen
~/.bash_profile
,
~/.zshrc
,
~/.profile
oder
~/.bashrc
).
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" # This loads nvm
In können
~/.bash_profile
wir sehen, dass die Zeilen hinzugefügt werden:
export NVM_DIR="/Users/fuje/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
NVM verwenden
Also haben wir nvm installiert. Jetzt verwenden wir diesen Befehl, um die neueste Version von node.js zu installieren:
$ nvm install node
Downloading and installing node v15.4.0...
Downloading https://nodejs.org/dist/v15.4.0/node-v15.4.0-darwin-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v15.4.0 (npm v7.0.15)
Die Ausgabedaten des obigen Beispiels geben an, dass npm
7.0.15
mit node.js verwendet wird
15.4.0
. Lass uns das Prüfen:
$ node -v v15.4.0 $ npm -v 7.0.15
Wir können auch die erforderliche Version für die Installation angeben. Das semantische Format der Version wird vom SemVer bestimmt :
$ nvm install 10.14.0
Downloading and installing node v10.14.0...
Downloading https://nodejs.org/dist/v10.14.0/node-v10.14.0-darwin-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v10.14.0 (npm v6.4.1)
Wenn die angegebene Version bereits installiert wurde, wird sie nicht neu installiert:
$ nvm install 10.14.0 v10.14.0 is already installed. Now using node v10.14.0 (npm v6.4.1)
Wir können alle installierten Versionen anzeigen:
$ nvm ls -> v10.14.0 v10.15.0 v10.16.0 v12.16.0 v13.9.0 v15.4.0 system default -> 12.16.0 (-> v12.16.0) node -> stable (-> v15.4.0) (default) stable -> 15.4 (-> v15.4.0) (default) iojs -> N/A (default) unstable -> N/A (default) lts/* -> lts/fermium (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.23.0 (-> N/A) lts/erbium -> v12.20.0 (-> N/A) lts/fermium -> v14.15.1 (-> N/A)
In den obigen Ausgabebeispielen zeigt das Symbol
->
an, dass die aktuelle Version von node.js ist
10.14.0
. Der Pfeil repräsentiert auch Werte für
default
(
12.16.0
),
node
(
15.4.0
) und
stable
(
15.4.0
).
nvm use
ersetzt die aktuelle Version:
$ nvm use 12.16.0 Now using node v12.16.0 (npm v6.14.8) $ nvm use 10.16.0 Now using node v10.16.0 (npm v6.14.5) $ nvm use 13.9.0 Now using node v13.9.0 (npm v6.13.7) $ nvm use default Now using node v12.16.0 (npm v6.14.8) $ nvm use node Now using node v15.4.0 (npm v7.0.15) $ nvm use stable Now using node v15.4.0 (npm v7.0.15)
Sie fragen sich vielleicht, wie es ist, dass
v10.16.0
eine spätere Version von npm als verwendet wird
v13.9.0
. Diese Aufgabe kann mit den folgenden Befehlen gelöst werden:
$ nvm use 10.16.0 $ npm install -g npm@6.14.5
Mit diesem Befehl können Sie die neueste unterstützte npm-Version für die aktuelle Version von Node.js abrufen:
$ nvm install-latest-npm
nvm use
Installiert nur die richtige Version für die aktuelle Shell. Wenn Sie die Shell ändern, geht die neu aktualisierte Version von node.js verloren.
Wie mache ich eine bestimmte Version von Node.js dauerhaft?
Die Standardversion ist eine, die auf alle Shells verteilt wird.
Mit dem Befehl
nvm alias
können Sie die Standardversion festlegen.
$ nvm alias default 10.16.0
Zur Vereinfachung können Sie eine Datei erstellen
.nvmrc
, die das SemVer-Format akzeptiert,
node
oder
default
. Danach
nvm use
,
nvm install
,
nvm exec
,
nvm run
und
nvm which
wird die Version in der Datei angegeben verwenden
.nvmrc
, es sei denn , eine andere Befehlszeile.
$ cat .nvmrc
15.4.0
$ nvm use
Found '/Users/fuje/.nvmrc' with version <15.4.0>
Now using node v15.4.0 (npm v7.0.15)
Wir können die aktuelle Version mit dem folgenden Befehl überprüfen:
$ nvm current v15.4.0
ls-remote
Zeigt alle verfügbaren Versionen an, aber seien Sie auf eine sehr lange Liste vorbereitet.
$ nvm ls-remote
Beachten Sie, dass der abgekürzte Versionsname die gesamte Liste erheblich verkürzt.
$ nvm ls-remote 15 v15.0.0 v15.0.1 v15.1.0 v15.2.0 v15.2.1 v15.3.0 -> v15.4.0
nvm which
Gibt den Pfad zu der ausführbaren Datei an, in der sie
nvm
installiert wurde. Wir haben installierte Versionen von node.js wie
10.14.0
,
10.15.0
und
10.16.0
. Hier sind die Ergebnisse
nvm which
:
$ nvm which 10.14.0
/Users/fuje/.nvm/versions/node/v10.14.0/bin/node
$ nvm which 10.15.0
/Users/fuje/.nvm/versions/node/v10.15.0/bin/node
$ nvm which 10.16.0
/Users/fuje/.nvm/versions/node/v10.16.0/bin/node
$ nvm which 10.15
/Users/fuje/.nvm/versions/node/v10.15.0/bin/node
$ nvm which 10.12
N/A: version "v10.12" is not yet installed.
You need to run "nvm install 10.12" to install it before using it.
$ nvm which 10
/Users/fuje/.nvm/versions/node/v10.16.0/bin/node
Die angegebene Version von Node.js kann direkt zum Starten von Anwendungen verwendet werden:
$ nvm run 10.15.0 app.js
Alternativ wird dieser Befehl
node app.js
mit der Variablen PATH ausgeführt, die die Version angibt
10.15.0
.
$ nvm exec 10.15.0 node app.js
Wenn Sie weitere nvm-Befehle benötigen, führen Sie den folgenden Befehl aus
help
:
$ nvm --help
NVM-Upgrade
Wir können
nvm
node.js und npm zum Aktualisieren verwenden. Aber wie aktualisiere ich mich
nvm
?
Lass es uns versuchen!
Vor dem Update haben wir installiert
nvm
0.34.0
.
Wir aktualisieren auf Version 0.37.2.
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13527 100 13527 0 0 23046 0 --:--:-- --:--:-- --:--:-- 23083
=> nvm is already installed in /Users/fuje/.nvm, trying to update using git
=> => Compressing and cleaning up git repository
=> nvm source string already in /Users/fuje/.bash_profile
=> bash_completion source string already in /Users/fuje/.bash_profile
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Wie in der Ausgabe angegeben, müssen wir das Terminal schließen und erneut öffnen, um die neue Version verwenden zu können:
$ nvm --version 0.37.2
Im Vergleich zur Version
0.34.0
hat die Version
0.37.2
eine Funktion
nvm set-colors
zur Ausgabe an die Konsole hinzugefügt . Zeigt
standardmäßig
nvm ls
die folgenden Farben an:
Neue Farben festlegen:
$ nvm set-colors cgYmW
nvm ls
zeigt die Ausgabe mit neuen Farben an:
Fazit
nvm
vereinfacht die Versionskontrolle von node.js und npm. Wir sind jetzt definitiv bereit, zu node.js 15 und npm 7 zu wechseln. Ich hoffe, Sie fanden dies hilfreich. Weitere Veröffentlichungen des Autors finden Sie hier .