J'utilise NVM pour installer les dernières versions de nodeJS pour mon travail de nœud. Cela fonctionne parfaitement pour installer des versions séparées et basculer entre elles. Il installe également la dernière version de NPM dans chaque dossier local .../bin avec le fichier binaire du noeud. Cependant, il ne semble pas y avoir de moyen de changer la version de NPM que j'utilise (ou du moins, je ne le comprends pas).
La seule solution à laquelle je puisse penser est de supprimer le fichier binaire par défaut (le NPM installé lors de la première installation de noeud avec NVM) et de remplacer le dernier fichier binaire NPM. Cependant, je me demande s’il existe de meilleures façons de procéder.
Trois ans après que cette question a été posée pour la première fois, il semble que la réponse soit beaucoup plus simple maintenant. Il suffit de mettre à jour la version installée par nvm, qui réside dans ~/.nvm/versions/node/[your-version]/lib/node_modules/npm
.
Je viens d'installer le noeud 4.2.2, qui vient avec npm 2.14.7, mais je veux utiliser npm 3. Alors, j'ai fait:
cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm
Facile!
Et oui, cela devrait fonctionner pour tout module, et pas seulement npm, pour lequel vous voulez être "global" pour une version spécifique de noeud.
EDIT 1: Dans la version la plus récente, npm -g
est intelligent et installe les modules dans le chemin ci-dessus au lieu du chemin global du système.
EDIT 2, deux autres années et six versions de nœud plus tard: comme indiqué dans une réponse plus récente , il existe maintenant une commande pour cela:
nVM a maintenant une commande pour mettre à jour NPM. C'est
nvm install-latest-npm
ounvm install --latest-npm
.
nvm install-latest-npm
: Tentative de mise à niveau vers la dernière version npm
de la version actuelle du noeud.
nvm install --latest-npm
: Après l'installation, essayez de mettre à niveau le dernier npm en cours d'utilisation sur la version de noeud donnée.
Merci @philraj pour l'avoir signalé dans un commentaire.
nVM ne gère pas NPM.
Donc, si vous souhaitez installer le noeud 0.4.x (dont dépendent de nombreux packages) et utiliser NPM, vous pouvez toujours utiliser npm 1.0.x.
Installez le noeud 0.6.x (fourni avec npm 1.1.x) et installez nvm avec npm:
npm install nvm
. ~/nvm/nvm.sh
Installez le noeud 0.4.x avec nvm:
nvm install v0.4.12
nvm use v0.4.12
Installez npm en utilisant install.sh (notez le paramètre -L
pour suivre les redirections):
curl -L https://npmjs.org/install.sh | sh
Ceci détectera le noeud 0.4.12 et installera npm 1.0.106 dans votre dossier ~/nvm/v0.4.12/lib/node_modules et créera un lien symbolique pour nvm
~/nvm/v0.4.12/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js
Si vous essayez d’exécuter npm, il y aura toujours une erreur, mais si vous refaites nvm use v0.4.12
, cela devrait maintenant fonctionner.
nVM a maintenant une commande pour mettre à jour NPM. C'est nvm install-latest-npm
ou npm install --latest-npm
.
Changer de version de npm sur un système d’exploitation linux n’est pas encore un processus simple. J'ai terminé de revenir à l'ancienne version de npm. Cela devrait fonctionner pour que toute version de npm fonctionne. Commencez par installer la version de npm que vous souhaitez utiliser:
Sudo npm install -g [email protected]
Supprimez le lien sym dans/usr/local/bin /
Sudo rm /usr/local/bin/npm
Recréez le lien sym en utilisant la version de npm que vous avez installée
Sudo ln -s /usr/bin/[email protected] /usr/local/bin/npm
npm install [email protected] -g
npm install [email protected] -g
En regardant www.npmjs.com/install.sh, j'ai découvert qu'il est possible d'installer une version spécifique en définissant une variable d'environnement.
export npm_install="2.14.14"
Exécutez ensuite le script de téléchargement comme décrit à l'adresse npmjs.com:
curl -L https://www.npmjs.com/install.sh | sh
Si vous omettez de définir la variable npm_install , il installera la version qu'ils ont marquée comme latest
Dans Windows, exécutez votre terminal en tant qu’administrateur (au cas où il y aurait des problèmes d’autorisation comme je l’avais eu) Puis utilisez une version de noeud spécifique (par exemple 7.8.0) en
nvm use 7.8.0
puis mettez à jour votre npm vers la version spécifique souhaitée en
npm install -g [email protected]
Je suis sous Windows et je n'arrive pas à faire fonctionner ce genre de choses. J'ai continué à avoir des erreurs sur les fichiers étant dans le chemin. Cela a bien fonctionné:
cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
mv npm npm-old
mv npm.cmd npm-old.cmd
cd node_modules\
mv npm npm-old
cd npm-old\bin
node npm-cli.js i -g npm@latest
Et boum, je suis de retour dans les affaires.
Qu'en est-il de npm i -g npm
? Avez-vous essayé d'exécuter cela aussi?
Légère variation sur les instructions ci-dessus, a travaillé pour moi. (MacOS Sierra 10.12.6)
npm install -g [email protected]
rm /usr/local/bin/npm
ln -s ~/.npm-packages/bin/npm /usr/local/bin/npm
npm --version
J'ai eu le même problème après l'installation de nvm-windows
par-dessus une installation de nœud existante. La solution consistait simplement à suivre les instructions:
Vous devez également supprimer l’emplacement d’installation npm existant (par exemple, . "C:\Utilisateurs\AppData\Roaming\npm") afin que l’emplacement d’installation nvm sera correctement utilisé à la place.
Installation et utilisation de NVM sous Windows
Voici les étapes pour l'installation de NVM sous Windows:
NVM est synonyme de gestionnaire de version de noeud, ce qui vous aidera à changer les versions de vos noeuds pour une utilisation spécifique. Il permet également à l'utilisateur de travailler avec plusieurs versions de npm et de nœud.
Installez le programme d'installation nvm. Utilisez la commande "nvm list" pour vérifier la liste des versions de nœuds installés. Tapez "nvm use version number [6.9.3]" pour changer de version. Pour plus d'infos