Ce guide vous donne une brève introduction à "n" , un outil de gestion de version de nœud non officiel, puis explique comment gérer facilement les versions de nodejs avec n dans les systèmes d'exploitation Linux.
Qu'est-ce que n, le gestionnaire de versions de nœud ?
NodeJS ne nécessite aucune introduction. Nodejs est un environnement d'exécution pour JavaScript construit sur le moteur V8 de Google. Nodejs est livré avec un gestionnaire de packages intégré appelé npm
pour installer et gérer les versions de nœud et il existe également de nombreux outils tiers pour gérer les versions de nœud. n est l'un des outils de gestion de version de nœud tiers. Oui, c'est juste une seule lettre - n.
Le n est un gestionnaire de version de nœud interactif pour gérer facilement une ou plusieurs versions de NodeJS ! Pas de sous-shells, pas de configuration de profil, pas d'API compliquée, pas de courbe d'apprentissage, c'est juste simple outil. Ce n'est qu'un script shell et son code est disponible gratuitement sur GitHub.
1. Installer n sous Linux
Le moyen le plus simple d'installer n consiste à utiliser npm
. Comme indiqué précédemment, Npm est le gestionnaire de packages intégré pour Nodejs et est préinstallé avec Nodejs.
Je suppose que vous avez déjà les derniers Nodejs sur votre machine Linux. Si vous n'avez pas encore installé NodeJS, consultez le guide suivant :
- Comment installer NodeJS sur Linux
Ensuite, exécutez la commande suivante pour installer n sous Linux :
$ npm install -g n
Si npm n'est pas disponible ou si vous ne souhaitez pas installer n avec npm, vous pouvez directement récupérer le script n depuis GitHub et l'installer comme ci-dessous :
$ curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
$ bash n lts
Cela installera les deux node
sa version et npm
.
1.2. Créer un répertoire personnel pour l'installation du nœud
Par défaut, n installe node
sous n/versions
sous-répertoire de /usr/local/
répertoire, qui est défini dans le N_PREFIX
variables d'environnement. Comme vous le savez déjà, nous avons besoin de sudo
autorisation d'installer le nœud sous /usr/local/n/versions/node/
annuaire. Pour éviter d'utiliser sudo
, vous pouvez créer un répertoire dédié pour l'installation des nœuds dans votre $HOME et les ajouter à votre PATH
.
Pour créer un répertoire personnel pour l'installation du nœud, modifiez votre fichier de profil utilisateur, par exemple ~/.bashrc
:
$ vi ~/.bashrc
Ajoutez les lignes suivantes :
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
Appuyez sur ESC
clé et tapez :wq
pour enregistrer le fichier et quitter.
1.3. Installer n avec le script n-install
L'autre façon d'installer n consiste à utiliser n-install script, qui installe n directement depuis le GitHub.
$ curl -L https://git.io/n-install | bash
Cette commande effectuera l'ensemble de tâches suivant :
- Tout d'abord, il définit à la fois
PREFIX
etN_PREFIX
vers$HOME/n
; - Et, installe
n
vers$HOME/n/bin
; - Ensuite, modifie les fichiers d'initialisation des shells pris en charge pour exporter
N_PREFIX
; - Ensuite, ajoute
$HOME/n/bin
auPATH
; - Enfin, installe la dernière version de LTS Node.js.
2. Gérer les versions de nodejs avec n sous Linux
Installer et gérer les versions de nodejs avec n est assez simple ! Voyons quelques exemples.
2.1. Obtenir de l'aide
Si vous débutez avec n, c'est probablement une bonne idée d'afficher la section d'aide et d'apprendre à utiliser n.
Pour afficher la section d'aide de n, exécutez simplement :
$ n --help
Parcourez le manuel d'aide pour avoir un aperçu de l'utilisation de chaque commande.
Usage: n [options] [COMMAND] [args]
Commands:
n Display downloaded Node.js versions and install selection
n latest Install the latest Node.js release (downloading if necessary)
n lts Install the latest LTS Node.js release (downloading if necessary)
n Install Node.js (downloading if necessary)
n install Install Node.js (downloading if necessary)
n run [args …] Execute downloaded Node.js with [args …]
n run [args …] Execute downloaded node with [args …]
n which Output path for downloaded node
n exec [args…] Execute command with modified PATH, so downloaded node and npm first
n rm Remove the given downloaded version(s)
n prune Remove all downloaded versions except the installed version
n --latest Output the latest Node.js version available
n --lts Output the latest LTS Node.js version available
n ls Output downloaded versions
n ls-remote [version] Output matching versions available for download
n uninstall Remove the installed Node.js
Options:
-V, --version Output version of n
-h, --help Display help information
-p, --preserve Preserve npm and npx during install of Node.js
-q, --quiet Disable curl output (if available)
-d, --download Download only
-a, --arch Override system architecture
--all ls-remote displays all matches instead of last 20
--insecure Turn off certificate checking for https requests (may be needed from behind a proxy server)
--use-xz/--no-use-xz Override automatic detection of xz support and enable/disable use of xz compressed node downloads.
Aliases:
install: i
latest: current
ls: list
lsr: ls-remote
lts: stable
rm: -
run: use, as
which: bin
Versions:
Numeric version numbers can be complete or incomplete, with an optional leading 'v'.
Versions can also be specified by label, or codename,
and other downloadable releases by /
4.9.1, 8, v6.1 Numeric versions lts Newest Long Term Support official release latest, current Newest official release auto Read version from file: .n-node-version, .node-version, .nvmrc, or package.json engine Read version from package.json boron, carbon Codenames for release streams lts_latest Node.js support aliases and nightly, rc/10 et al
2.2. Installer les versions de Nodejs en utilisant n
Pour installer la dernière version de nodejs avec n
, lancez simplement :
$ n latest
Exemple de résultat :
installing : node-v16.2.0 mkdir : /home/ostechnix/.n/n/versions/node/16.2.0 fetch : https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.xz installed : v16.2.0 (with npm 7.13.0) Note: the node command changed location and the old location may be remembered in your current shell. old : /home/ostechnix/.nvm/versions/node/v16.1.0/bin/node new : /home/ostechnix/.n/bin/node To reset the command location hash either start a new shell, or execute PATH="$PATH"
L'ancienne version du nœud sera déplacée vers le nouvel emplacement, c'est-à-dire /home/ostechnix/.n/bin/node
dans mon cas. Ouvrez une nouvelle session shell ou redémarrez la session Terminal pour utiliser la version du nœud à partir du nouvel emplacement.
Vérifiez la version du nœud installé :
$ node --version v16.2.0
Vérifier la version npm :
$ npm -v 7.13.0
De même, vous pouvez installer une version de nœud LTS en utilisant n comme ci-dessous :
$ n lts
Exemple de résultat :
installing : node-v14.17.0 mkdir : /home/ostechnix/.n/n/versions/node/14.17.0 fetch : https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz installed : v14.17.0 (with npm 6.14.13)
Vous pouvez également installer une version spécifique de Nodejs, par exemple 16.0.0
, en utilisant la commande :
$ n 16.0.0
Comme vous l'avez peut-être remarqué, n crée des répertoires séparés pour chaque version de nœud. Par exemple, il crée /home/ostechnix/.n/n/versions/node/16.2.0
répertoire pour la dernière version du nœud, n/versions/node/14.17.0
pour la version LTS du nœud et n/versions/node/16.0.0
pour la version de nœud 16.0.0. De cette façon, chaque version n'est pas mélangée les unes aux autres, et nous pouvons passer à n'importe quelle version à tout moment.
2.3. Téléchargez les versions de Nodejs, mais ne les installez pas
Si vous ne voulez pas installer une version de Nodejs, mais seulement la télécharger, utilisez -d
, --download
choix :
$ n -d 15.8.0
Cette commande téléchargera uniquement la version 15.8.0 du nœud, mais ne l'installera pas.
Exemple de résultat :
installing : node-v15.8.0 mkdir : /home/ostechnix/.n/n/versions/node/15.8.0 fetch : https://nodejs.org/dist/v15.8.0/node-v15.8.0-linux-x64.tar.xz
2.4. Lister les versions de Nodejs téléchargées localement
Pour afficher toutes les versions téléchargées de Nodejs dans votre cache local, exécutez simplement :
$ n ls
Ou,
$ n list
Exemple de résultat :
node/14.17.0 node/15.8.0 node/16.0.0 node/16.2.0
2.5. Répertorier les versions Nodejs disponibles à partir du référentiel distant
Nous pouvons utiliser ls-remote
option pour afficher les 20 dernières versions de Nodejs à partir du registre npm .
$ n ls-remote
Ou,
$ n lsr
Exemple de résultat :
Listing remote… Displaying 20 matches (use --all to see all). 16.2.0 16.1.0 16.0.0 15.14.0 15.13.0 15.12.0 15.11.0 15.10.0 15.9.0 15.8.0 15.7.0 15.6.0 15.5.1 15.5.0 15.4.0 15.3.0 15.2.1 15.2.0 15.1.0 15.0.1
La version la plus récente sera affichée en haut.
Par défaut, il répertorie 20 versions. Vous pouvez également afficher un certain nombre de versions de nœuds.
$ n lsr 10
Pour lister toutes les versions de nodejs disponibles, utilisez --all
option.
$ n ls-remote --all
2.6. Afficher le chemin de la version Nodejs téléchargée
Pour imprimer le chemin complet d'une version de nœud téléchargée spécifique, exécutez :
$ n which node/16.2.0
Exemple de résultat :
/home/ostechnix/.n/n/versions/node/16.2.0/bin/node
2.7. Changer de version de Nodejs
La dernière version installée sera la version de nœud par défaut. Si vous souhaitez passer à une version différente, tapez n
et choisissez une version dans la liste des versions de nœud téléchargées.
$ n
Cette commande affichera toutes les versions téléchargées de nodejs. Vous pouvez choisir la version requise à l'aide des flèches haut/bas et appuyer sur la touche ENTRÉE pour l'installer.
node/14.17.0 node/15.8.0 ο node/16.0.0 node/16.2.0 Use up/down arrow keys to select a version, return key to install, d to delete, q to quit
La version par défaut est indiquée par un petit cercle devant.
Si vous ne voulez pas de version téléchargée spécifique de nodejs, choisissez-la simplement et appuyez sur d
pour le supprimer. Pour quitter, appuyez sur q
.
2.8. Exécuter la version téléchargée de Nodejs
Comme indiqué précédemment, la dernière version installée est la version de nœud par défaut. Si vous souhaitez exécuter une version différente sans la définir par défaut, vous pouvez utiliser cette commande :
$ n run 15.8.0
Exemple de résultat :
Welcome to Node.js v15.8.0. Type ".help" for more information. >
Appuyez sur Ctrl+D
ou tapez .exit
pour quitter l'invite du nœud.
2.9. Supprimer les versions téléchargées de Nodejs
Répertoriez le nombre de versions de nœuds téléchargées avec la commande :
$ n ls
Pour supprimer une version spécifique, il suffit de mentionner son numéro de version comme ci-dessous :
$ n rm node/16.0.0
Sinon, tapez n
pour afficher les versions de nœud disponibles :
$ n
Sélectionnez la version que vous souhaitez supprimer à l'aide des flèches haut/bas et appuyez sur d
pour le supprimer. Vous devez être prudent lors de la suppression d'une version de nœud. Parce que vous ne serez pas invité à confirmer la suppression. Une fois que vous avez appuyé sur le d
clé la version sélectionnée disparaîtra.
Pour supprimer toutes les versions téléchargées à l'exception de la version installée, exécutez :
$ n prune
Pour supprimer complètement la version Nodejs installée, exécutez :
$ n uninstall
Il vous sera demandé si vous souhaitez supprimer à la fois Node et Npm de votre système. Tapez y
et appuyez sur ENTER
clé pour supprimer complètement node
et npm
installé par n
de votre système.
Do you wish to delete node and npm from /home/ostechnix/.n? y Uninstalling node and npm /home/ostechnix/.n/bin/node /home/ostechnix/.n/bin/npm /home/ostechnix/.n/bin/npx /home/ostechnix/.n/include/node /home/ostechnix/.n/lib/node_modules/npm /home/ostechnix/.n/share/doc/node /home/ostechnix/.n/share/man/man1/node.1 /home/ostechnix/.n/share/systemtap/tapset/node.stp
Cependant, cela ne supprimera pas la version de nœud installée à l'aide de NVM ou de votre gestionnaire de packages de distributions. Il ne supprimera que les versions de nœud installées avec n.
Conclusion
Le script n sera utile lorsque vous souhaitez utiliser différentes versions de Nodejs pour différents projets. Vous n'avez pas besoin de supprimer une version de Nodejs et d'en installer une autre pour chaque projet. Vous pouvez installer plusieurs versions de Nodejs et passer instantanément d'une version de Nodejs à une autre.