Notre précédente traduction sur les nouvelles fonctions de la 15e version de Node.js a été très bien accueillie par les lecteurs de Habr, nous avons donc décidé aujourd'hui de continuer le sujet et de vous dire comment configurer NVM avec la version 15 de Node.js et NPM 7 .
La version 15 de Node.js est sortie le 20 octobre 2020. Il est livré avec npm 7 et de nombreuses nouvelles fonctionnalités. Avez-vous déjà essayé la nouvelle version?
Mais attendez une minute! Node.js 15 et npm 7 contiennent des changements de rupture. La mise à niveau ne nuirait-elle pas aux projets existants?
En théorie, ça peut faire mal!
Heureusement, nous avons NVM (Node Version Manager) pour nous sauver de ce danger. Examinons de plus près cet outil afin de mettre à jour les versions de node.js et npm sans aucun problème.
Installez NVM
nvm
gère les versions node.js et npm. Il est installé pour un utilisateur spécifique et peut être appelé séparément pour chaque shell.
nvm
fonctionne avec n'importe quel shell compatible POSIX (sh, dash, ksh, zsh, bash), y compris les plates-formes: unix, macOS et windows WSL.
nvm
peut être installé à l'aide des commandes curl ou wget:
$ 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
clones NVM dépôt dans
~/.nvm
et tente d'ajouter les lignes de source du fragment suivant au fichier de profil souhaité (
~/.bash_profile
,
~/.zshrc
,
~/.profile
ou
~/.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
Dans
~/.bash_profile
nous pouvons voir que les lignes sont ajoutées:
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
Utilisation de NVM
Donc, nous avons installé nvm. Nous utilisons maintenant cette commande pour installer la dernière version de node.js:
$ 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)
Les données de sortie de l'exemple ci - dessus indique que le NMP
7.0.15
utilisé avec Node.js
15.4.0
. Allons vérifier:
$ node -v v15.4.0 $ npm -v 7.0.15
Nous pouvons également spécifier la version requise pour l'installation. Le format sémantique de la version est déterminé par le SemVer :
$ 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)
Si la version spécifiée était déjà installée, elle n'est pas réinstallée:
$ nvm install 10.14.0 v10.14.0 is already installed. Now using node v10.14.0 (npm v6.4.1)
Nous pouvons afficher toutes les versions installées:
$ 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)
Dans les exemples de sortie ci-dessus, le symbole
->
indique que la version actuelle de node.js est
10.14.0
. La flèche représente également les valeurs de
default
(
12.16.0
),
node
(
15.4.0
) et
stable
(
15.4.0
).
nvm use
remplace la version actuelle:
$ 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)
Vous vous demandez peut-être comment
v10.16.0
utilise-t-il une version ultérieure de npm
v13.9.0
. Cette tâche peut être résolue à l'aide des commandes suivantes:
$ nvm use 10.16.0 $ npm install -g npm@6.14.5
Cette commande vous permet d'obtenir la dernière version npm prise en charge pour la version actuelle de Node.js:
$ nvm install-latest-npm
nvm use
installe la version correcte pour le shell actuel uniquement. Si vous modifiez le shell, la version nouvellement mise à jour de node.js sera perdue.
Comment rendre persistante une version spécifique de Node.js?
La version par défaut est celle qui est distribuée à tous les shells.
La commande
nvm alias
vous permet de définir la version par défaut.
$ nvm alias default 10.16.0
Pour plus de commodité, vous pouvez créer un fichier
.nvmrc
qui accepte le format SemVer,
node
ou
default
. Après cela
nvm use
,
nvm install
,
nvm exec
,
nvm run
et
nvm which
utilisera la version spécifiée dans le fichier
.nvmrc
, à moins qu'une autre ligne de commande.
$ 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)
Nous pouvons vérifier la version actuelle avec la commande suivante:
$ nvm current v15.4.0
ls-remote
affiche toutes les versions disponibles, mais soyez prêt pour une très longue liste.
$ nvm ls-remote
Notez que le nom de version abrégé raccourcit considérablement la liste entière.
$ 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
indique le chemin d'accès à l'exécutable où il a
nvm
été installé. Nous avons installé des versions de node.js comme
10.14.0
,
10.15.0
et
10.16.0
. Voici les résultats
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
La version spécifiée de Node.js peut être utilisée directement pour lancer des applications:
$ nvm run 10.15.0 app.js
Alternativement, cette commande est exécutée
node app.js
avec la variable PATH indiquant la version
10.15.0
.
$ nvm exec 10.15.0 node app.js
Si vous avez besoin de plus de commandes nvm, exécutez la commande
help
:
$ nvm --help
Mise à niveau NVM
Nous pouvons utiliser
nvm
node.js et npm pour mettre à jour. Mais comment puis-je me mettre à jour
nvm
?
Essayons!
Avant la mise à jour, nous avons installé
nvm
0.34.0
.
Nous mettons à jour vers la 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
Comme indiqué dans la sortie, nous devons fermer et rouvrir le terminal afin d'utiliser la nouvelle version:
$ nvm --version 0.37.2
Par rapport à la version
0.34.0
, la version a
0.37.2
ajouté une fonction
nvm set-colors
de sortie vers la console. Affiche les couleurs suivantes par
défaut
nvm ls
:
Définissez de nouvelles couleurs:
$ nvm set-colors cgYmW
nvm ls
affiche la sortie avec de nouvelles couleurs:
Conclusion
nvm
simplifie le contrôle de version node.js et npm. Nous sommes maintenant prêts à passer à node.js 15 et npm 7. J'espère que vous avez trouvé cela utile. D'autres publications de l'auteur peuvent être trouvées ici .