Question Comment mettre à jour npm vers la dernière version? [dupliquer]


Cette question a déjà une réponse ici:

J'ai des problèmes avec npm dans un coffre vagabond je m'installe. J'ai remarqué que le npm la version est un peu ancienne, alors je voulais vérifier le problème avec la dernière version.

Je crois comprendre que vous devriez pouvoir mettre à jour npm en utilisant npm install -g npm, mais la commande n'a aucun effet sur le npm utilisé:

vagrant@box:~$ npm -v
1.3.10
vagrant@box:~$ sudo npm install -g npm
npm http GET https://registry.npmjs.org/npm
npm http 200 https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
npm http 200 https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@2.1.12 /usr/local/lib/node_modules/npm
vagrant@box:~$ npm -v
1.3.10

J'ai aussi essayé d'utiliser n (comme suggéré dans Comment puis-je mettre à jour mon nodeJS vers la dernière version?) pour mettre à jour, mais cela n'affecte ni npm ni node:

vagrant@box:~$ node -v
v0.10.25
vagrant@box:~$
vagrant@box:~$ sudo npm install -g n
/usr/bin/n -> /usr/lib/node_modules/n/bin/n
n@1.2.9 /usr/lib/node_modules/n
vagrant@box:~$ sudo n stable

     install : v0.10.33
       mkdir : /usr/local/n/versions/0.10.33
       fetch : http://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz
   installed : v0.10.33

vagrant@box:~$ node -v
v0.10.25
vagrant@box:~$ npm -v
1.3.10

Que dois-je faire pour mettre à jour npm vers la dernière version?


110
2017-12-17 09:39


origine


Êtes-vous sûr qu'il existe une version plus récente? Parce que pour moi, la version 1.3.10 est la dernière version disponible dans le repo officiel. - Registered User
@RegisteredUser: Dans ma première liste de sortie, il dit même 2.1.12, qui est la dernière version: github.com/npm/npm/releases - Der Hochstapler
Essayez, $ sudo npm install npm -g - vembutech
@ vembutech: je l'ai fait. Sauf si vous suggérez que le -g devrait être placé ailleurs sur la ligne de commande. - Der Hochstapler
which npm est très utile. Vieux npm était dans /usr/local/bin et a la priorité ci-dessus /usr/bin nouveau - vp_arth


Réponses:


Je ne comprends toujours pas Pourquoi, mais je dois courir npm install -g npm  deux fois pour qu'il ait l'effet désiré:

vagrant@box:~$ npm -v
1.3.10
vagrant@box:~$ sudo npm install -g npm
npm http GET https://registry.npmjs.org/npm
npm http 200 https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
npm http 200 https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@2.1.12 /usr/local/lib/node_modules/npm
vagrant@box:~$ npm -v
1.3.10
vagrant@box:~$ sudo npm install -g npm
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
npm@2.1.12 /usr/lib/node_modules/npm
vagrant@box:~$ npm -v
2.1.12

130
2017-12-17 10:31



Si vous avez récemment reconfiguré pour arrêter sudo, comme suggéré ici: justjs.com/posts/…, vous avez peut-être modifié votre fichier ~ / .bashrc. Veillez donc à courir source ~/.bashrc ou sinon npm -v ne trouvera pas la version mise à jour. - modulitos
Je viens de fermer et rouvrir mon instance shell pour voir la version mise à jour. - absynce
Pour moi, cela a fonctionné dès la première fois. - Daneel S. Yaitskov
Je devais le faire deux fois également en 14.04 avant de le prendre. Je n'aurais pas deviné le contraire. À votre santé - Dark Star1
Aucune idée, comment je suis arrivé, mais cela pourrait aider quelqu'un: après avoir installé nodejs comme expliqué ici https://nodejs.org/en/download/package-manager/, vous devez redémarrer votre terminal et il sera là. Toi ne pas besoin d'installer npm séparément! Vous n'aurez donc pas besoin d'installer et de mettre à jour npm. - Ufos


Vous pouvez mettre à jour nodejs en utilisant npm lui-même, un PPA ou manuellement.

npm:

Vérifiez la version actuelle que vous avez:

node -v

Ce qui suit efface votre cache.

sudo npm cache clean -f

Installer n

sudo npm install -g n

Vous pouvez lui dire d'installer une version spécifique comme celle-ci:

sudo n 0.8.11

Ou simplement lui dire d'installer la dernière version stable. Les deux peuvent prendre un certain temps.

sudo n stable

Pour voir si elle a effectivement été mise à niveau, exécutez:

node -v

PPA:

Une autre option est de l'installer via un PPA par chris-lea;

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs

Cette PPA Prend en charge les distributions suivantes: Utopique (14.10), Trusty (14.04), Saucy (13.10), Raring (13.04), Quantal (12.10), Précis (12.04), Oneiric (11.10), Natty (11.04), Lucid (10.04) ).

Manuellement:

Vous pouvez toujours le mettre à jour manuellement Téléchargement la dernière version et l'installer vous-même!


Référence:


35
2017-12-17 10:38



Je sais que vous essayez d'aider, mais c'est exactement ce que cela dit dans ma question. - Der Hochstapler
@OliverSalzburg, mon mauvais, j'ai vu le message ci-dessus, et était bruyant pour moi de lire. Donc, je viens de commencer à poster, ma propre réponse. - blade19899
@OliverSalzburg, j'ai mis à jour ma réponse avec plusieurs options sur la façon de mettre à niveau! - blade19899
génial, l'utilisation de n a bien fonctionné pour moi (Debian Sid) - Michel Feldheim
C'est évidemment la bonne réponse. Cela m'agace lorsque des affiches de questions répondent à la question «WONGLY», puis marquez-la comme acceptée. Ils devraient être pénalisés! - Twifty


Quand vous commencez npm install -g npm, le shell (Bash) recherchera npm sur votre chemin, trouvez /usr/bin/npm installé par le package système, puis utilisez-le pour installer la nouvelle version de npm. La nouvelle version sera installée dans /usr/local/bin/npm.

Maintenant, votre chemin devrait avoir /usr/local/bin/ AVANT /usr/bin/, de sorte que vous penseriez qu'il serait maintenant prendre la version mise à jour dans /usr/local/bin/, droite? Faux.

Bash exécutera les chemins exécutables après la première recherche, alors quand vous dites npm la deuxième fois, il utilise toujours la version en cache /usr/bin/npm.

Pour dire à Bash de vider ce cache et de parcourir à nouveau le chemin, vous devez faire hash -r.

Après l'installation npm et ce faisant, mon shell a pris la nouvelle version de npm ça va.

Merci


32
2018-02-14 11:54



cela a fonctionné pour moi le 14.04 Merci! - prnt.sc/bybbao - Patoshi パトシ
Cela a fonctionné pour moi, merci. Toute autre réponse n'a pas fonctionné. - rotoava
Réponse parfaite et claire cela a fonctionné pour moi - mrroboaat
Windows 10 Bash 14.04 cela a fonctionné pour moi après la mise à jour - mrpatg
hash -r sauve mon cul XD - novaline


Mettre à jour NPM vers la dernière version en une seule commande

Pour mettre à jour ou mettre à jour la version de votre npm, tapez simplement terminal:

sudo npm install npm@latest -g

Comme mentionné dans le pied de page de la Documentation NPM


15
2018-04-02 17:53





La plupart du temps, je ne parviens pas à le mettre à niveau avec la commande globale. Ce qui a fonctionné pour moi, cependant, est de mettre à jour le paquet depuis la source de tous les modules de nœud du système:

Découvrez où npm est installé et allez dans ce dossier

# Below command shows the destination (remove sed pipe to see the full path of npm-cli)
whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{19\}$//'

# Go in there and install it manually. In my case it was the folder below... 
# NOTE: on mac its in /usr/local/lib
cd /usr/lib
sudo npm install npm@latest

Voici le puissant one-liner pour tout le monde (surtout les fainéants)

cd `whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{18\}$//'`; cd ..; sudo npm install npm@latest

12
2018-03-05 14:20



Cela ne cause aucune erreur pour moi (contrairement aux autres réponses) mais npm ne reste pas à jour - PandaWood
si tu sudo il utilise le dossier npm du compte root, soyez conscient de cela. Si vous voulez savoir où se trouve votre npm, tapez simplement: whereis npm | xargs readlink -f. Peut-être que vous venez de mettre à jour le mauvais paquet là-bas. J'ai ajouté quelques informations à ma réponse. - Tom Siwik


N'importe quel tour que vous faites, n'utilisez pas Git, Je recommande de les exécuter dans le Composer terminal. Ça va sûrement marcher. Il a fait pour moi par npm install npm -g.


1
2018-01-14 18:58





Mettre à niveau npm vous devez mettre à jour nodejs à la dernière version qui comprend npm

Dans Debian Stretch et Jessie, utilisez ce script:

#install prerequisites
apt-get install apt-transport-https curl git lsb-release -y

#Install NodeJS from external repositories
DISTRO=$(lsb_release -c -s)
if [ "$DISTRO" == "stretch" ]
then
  DISTRO="jessie"
fi

if curl -f "https://deb.nodesource.com/node_7.x/dists/$DISTRO/Release" >/dev/null
then
  curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
  echo "deb https://deb.nodesource.com/node_7.x $DISTRO main" > /etc/apt/sources.list.d/nodesource.list
  echo "deb-src https://deb.nodesource.com/node_7.x $DISTRO main" >> /etc/apt/sources.list.d/nodesource.list
  apt-get update
  # comment out the following line, if you installed nodejs 7 already (check with `apt-cache policy nodejs`)
  apt-get remove nodejs nodejs-legacy npm
  apt-get install nodejs -y
else
  echo -e "Your distribution is not supported by NodeJS. \nYou have to install a recent NodeJS version (>=4) manually. "
fi

Dans Ubuntu, vous pouvez utiliser ce script à partir de https://deb.nodesource.com:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

voir la source d'abord à https://github.com/nodesource/distributions/blob/master/deb/setup_7.x


1
2018-01-21 20:33





mise à niveau vers nodejs v0.12.7

 # Note the new setup script name for Node.js v0.12
 curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

 # Then install with:
 sudo apt-get install -y nodejs

Source de nodesource.com


0
2017-07-13 10:04