38 votes

la mise à jour npm a cassé npm

Je viens de suivre ce guide pour mettre à jour les mnp (comme mon nodered module de caméra ne fonctionnait pas) et a couru

npm install -g npm

mais maintenant, mon npm install semble complètement brisé. Si je viens de type

npm

ou

npm update

Je reçois

/usr/local/lib/node_modules/ngp/bin/npm-cli.js:79 laissez déclarant = require('update-notifier')({groupe}) ^^^

SyntaxError: Bloc de portée des déclarations (let, const, fonction, classe) pas encore pris en charge en dehors du strict mode

J'ai essayé

sudo apt-get remove npm
sudo apt-get install npm

mais la réinstallation n'a pas aidé.

Je pense que mon nœud version des besoins de mise à niveau à partir de v4.8.2 mais je pensais que c'était uniquement possible avec les mnp?

44voto

Maxime Points 3643

Vous avez probablement mnp installé deux fois, l'une est en /usr/local/bin et l'autre en /usr/bin.

Tout d'abord, vous pouvez essayer d'enlever l' npm module a été installé par la mise à niveau npm. Essayez d'exécuter ceci:

  • rm -r /usr/local/lib/node_modules/npm
  • /usr/bin/npm uninstall npm

Une fois que vous avez une version en cours d'exécution du mécanisme national de prévention, d'installer une version plus récente du nœud avant la mise à niveau des mnp. Ensuite, retirez la version de votre distribution linux.

Si la première solution ne fonctionne pas, une autre approche consiste à installer une version récente de nœud (sans utiliser npm bien sûr):

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

12voto

PierluigiVernetto Points 198

(solution pour centos .... je suppose que cela fonctionnerait aussi sur ubuntu):

pour nettoyer complètement ma machine centos, j'ai également fait ce qui suit - mon utilisateur est "centos" et ma maison est / home / centos:

 sudo rm -rf /usr/local/bin/npm 
sudo rm -rf /usr/local/bin/npx
sudo rm -rf /usr/lib/node_modules/
sudo rm -rf /usr/bin/npm
sudo rm -r /usr/local/lib/node_modules/
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/bin/npm
sudo rm -rf /usr/lib/node_modules/
rm -rf /home/centos/.npm/
rm -rf /home/centos/node*
rm -rf /home/centos/.node-gyp/
sudo rm -rf /root/.npm/
sudo rm /usr/bin/node
sudo rm -rf /usr/local/include/node
 

seulement à ce stade, j'ai réinstallé à nouveau:

 wget http://nodejs.org/dist/latest/node-v11.4.0-linux-x64.tar.gz
sudo tar --strip-components 1 -xzvf node-v* -C /usr/local
 

et les choses fonctionnent à nouveau:

 node --version
v11.4.0
npm --version
6.4.1
 

2voto

ZontarZon Points 80

Pour ceux qui utilisent google pour trouver cela, vous pouvez être tenté de l'installer via curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - , puis de l'installation avec des sudo apt install nodejs.

Cependant, j'ai rencontré ce problème en soit. Veuillez garder à l'esprit que npm@6 abandonné le soutien pour le nœud@<=4, et qui est un facteur important ici. Si vous voulez être sûr que tout est installé au plus tard, les versions correctes, je recommande très fortement l'installation par le biais de la mémoire non volatile.

Via la nvm les instructions sur leur GitHub: Vous pouvez ajouter le script d'installation avec

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

Ensuite, vous pouvez commencer à utiliser nvm. Vous devrez probablement redémarrer votre terminal, donc, après l'installation, quitter le terminal, lancez de nouveau, et de vérifier que nvm est installé avec nvm --version.

Si tout va bien, vous pouvez installer une version spécifique de nœud avec le mécanisme national de prévention de la remorque. La dernière version stable de nœud de l'écriture, c'est 10.15.3, de sorte

 nvm install 10.15.3

Et bien sûr, si vous avez besoin d'aide, nvm --help a une liste d'options.

2voto

Achint Sharma Points 156

Si vous utilisez nvm pour installer npm et node, essayez cette solution.

  1. Découvrez où se trouve exactement le nœud actuellement utilisé et npm est installé:

    which node

    Dans mon cas, c'était /home/ubuntu/.nvm/versions/node/

  2. Maintenant, supprimez toutes les versions de node en utilisant:

    sudo rm -rf /home/ubuntu/.nvm/versions/node/

  3. Vous pouvez maintenant utiliser nvm pour installer la version requise de node et npm.

    nvm install 4.9.1

1voto

Thibault Points 1389

Les autres réponses ne fonctionne pas pour moi sur Ubuntu et a fini dans une impasse, avec une fracture de la ngp ou de ne pas pouvoir réinstaller/mettre à jour les mnp.

La solution radicale que j'ai utilisé :

1/ Supprimer toutes les traces de nœud. Suivez cette page, à l'aide de la remove.sh script en bas : http://kselax.ru/en/npm-errors/

2/ Puis le réinstaller à partir de zéro nodejs + mnp à l'aide de la dernière script d'installation : https://github.com/nodesource/distributions/blob/master/README.md

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X