J'ai du mal à comprendre l'utilisation de n . En gros, il est clair qu’il s’agit d’un gestionnaire de versions pour Node.js tel que nvm .
Mais contrairement à nvm, qui est essentiellement un script Shell, il est recommandé, selon la documentation, d’utiliser npm pour installer n:
$ npm install -g n
Ce que je ne comprends pas, c'est: Pour avoir npm
sous la main, vous devez installer Node.js. Pourquoi devrais-je installer Node.js manuellement pour utiliser npm
afin de pouvoir ensuite installer Node.js avec n?
Pour poser ma question en d'autres termes: pourquoi n suggère-t-il d'installer à l'aide de npm
si son objectif principal est d'installer Node.js, qui inclut npm?
tl; dr
# Installs n and the latest LTS Node.js version to ~/n.
# For bash, ksh, zsh, modifies the respective user-specific Shell-initialization file to
# define env. variable N_PREFIX and append $N_PREFIX/bin to the $PATH.
curl -L https://git.io/n-install | bash
Je ressens ta douleur. Installer Node.js pour installer ensuite n
pour ensuite gérer les installations de Node.js est en effet une configuration étrange.
Ce serait vraiment bien de pouvoir installer n
seul.
J'ai créé un projet pour supporter l'installation de n
directement à partir de GitHub; le seul prérequis au-delà de ce dont n
a besoin est git
.
Notez que vous devez d'abord supprimer toute version n
Node.js préexistante.
Le répertoire cible, ~/n
par défaut, ne doit pas encore exister ou doit être vide.
Pour bash
, ksh
et zsh
, le fichier d’initialisation du shell approprié (par exemple, ~/.bashrc
) est automatiquement modifié pour définir la variable d’environnement N_PREFIX
et ajouter $N_PREFIX/bin
au $PATH
; pour les autres coquilles, cela doit être fait manuellement.
En plus d'installer n
directement à partir de GitHub, il installe également des scripts d'assistance pour mettre à jour n
(n-update
) et le désinstaller (n-uninstall
).
Voici _/exemples de travail; voir le repo n-install GitHub pour plus de détails:
Installation avec confirmation Invitez à confirmer l'installation à l'emplacement par défaut $HOME/n
et l'installation de la dernière version de LTS Node.js:
curl -L https://git.io/n-install | bash
Installation automatisée à l'emplacement par défaut, avec installation ultérieure des dernières versions de LTS (support à long terme) et de Node.js globales, ainsi que de la dernière version de 4.1.x Node.js:
curl -L https://git.io/n-install | bash -s -- -y lts latest 4.1
Installation automatisée à l'emplacement par défaut, sans installation ultérieure d'une version de Node.js:
curl -L https://git.io/n-install | bash -s -- -y -
Installation automatisée dans l'emplacement personnalisé ~/util/n
, avec installation ultérieure de la dernière version de LTS Node.js:
curl -L https://git.io/n-install | N_PREFIX=~/util/n bash -s -- -y
Si vous préférez, vous pouvez installer n à partir du source:
mkdir ~/tmp
cd ~/tmp
git clone https://github.com/tj/n
cd n
make install
Ensuite, vous pouvez installer la dernière version stable du noeud comme suit:
n stable
Le module n a été créé pour commodity .
Par exemple, si vous souhaitez mettre à jour votre version de Node.js de la version 0.8.0 à la version 10.20, préférez-vous télécharger un package, l'extraire et le compiler? Ou préférez-vous taper n 0.10.20
et le faire installer instantanément tout en conservant les versions précédentes de Node pour un basculement aisé?
n suggère d'utiliser npm pour l'installer car n est un module. En d’autres termes, npm est le moyen le plus simple de l’installer. Les modules de nœuds ont la fonctionnalité de pouvoir s'exécuter dans un shell lorsqu'ils sont installés globalement. Cette fonction a donc été utilisée pour faciliter le changement de version des nœuds.
Vous pouvez également installer npm
séparément de Node.JS; Exemple: sur un système sans Node.JS:
git clone https://github.com/npm/npm
cd npm
./configure
make
Référence: Projet NPM GitHub
J'ai eu la même question, mais j'ai vu la lumière. 'n' est un outil pratique qui simplifie le test de différentes versions de noeud. Fonctionne très bien sous Linux, mais peu importe la façon dont je l’installe sur OS X (clone git, puis installation de npm ou utilisation de la méthode recommandée de user456584 ), lorsqu’il est exécuté, les mêmes résultats sont " Erreur: pas de version installée ", même s'il est installé dans
/ usr/local/lib/node_modules/n
et
/ usr/local/bin/n
Frustrant parce que j'ai trouvé cet outil tellement pratique sous Linux.
Si vous avez inclus votre bin bin par défaut dans la variable $ PATH comme ceci
export PATH=/usr/local/Cellar/node/11.5.0/bin:$PATH
alors n ne pourra pas activer d'autres versions de noeud. Supprimez cette exportation du chemin et vous pourrez ensuite gérer la version du nœud actif par n.