web-dev-qa-db-fra.com

Comment puis-je changer la version de npm en utilisant nvm?

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.

165
thisissami

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 ou nvm 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.

256
lawrence

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.

40
fijiaaron

nVM a maintenant une commande pour mettre à jour NPM. C'est nvm install-latest-npm ou npm install --latest-npm.

20
samlandfried

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
16
Arun Reddy
npm install [email protected] -g
npm install [email protected] -g
16
Ocko

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

8
jim

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]
4
adnan2nd

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.

4
Ryan Shillington

Qu'en est-il de npm i -g npm? Avez-vous essayé d'exécuter cela aussi?

1

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
1
Nick Grealy

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 mises à niveau

0
MyTitle

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

0
  1. recherchez le noeud et la version de npm que vous souhaitez utiliser à partir d'ici https://nodejs.org/fr/download/releases/
  2. utilisation nvm 8.11.4
  3. vous avez déjà obtenu le npm 5.6 (solide et bon)
0
Alvin Smith