Je viens de suivre ce guide pour mettre à jour npm (mon module d’appareil photo nodered ne fonctionnant pas),
npm install -g npm
mais maintenant, mon installation npm semble complètement cassée. Si je tape juste
npm
ou
npm update
Je reçois
/usr/local/lib/node_modules/npm/bin/npm-cli.js:79 let notifier = require ('update-notifier') ({pkg}) ^^^
SyntaxError: Déclarations couvertes par des blocs (let, const, fonction, classe) non encore prises en charge en dehors du mode strict
J'ai essayé
Sudo apt-get remove npm
Sudo apt-get install npm
mais la réinstallation n'a pas aidé.
Je pense que la version de mon nœud doit être mise à jour à partir de la v4.8.2 mais je pensais que cela n’était possible que avec npm?
Vous avez probablement installé npm deux fois, l’un en /usr/local/bin
et l’autre en /usr/bin
.
Tout d'abord, vous pouvez essayer de supprimer le module npm
qui a été installé en mettant à niveau npm
. Essayez de lancer 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 de npm, installez une version plus récente de node avant de mettre à niveau npm. Ensuite, supprimez la version de votre distribution Linux.
Si la première solution ne fonctionne pas, ne autre approche consiste à installer une version récente du noeud (sans utiliser npm bien sûr):
curl -sL https://deb.nodesource.com/setup_10.x | Sudo -E bash -
Sudo apt-get install -y nodejs
(solution pour centos .... je suppose que cela fonctionnerait aussi sur Ubuntu):
pour nettoyer complètement ma machine centos, j'ai également procédé comme 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
Pour ceux qui ont utilisé Google pour trouver cela, vous pouvez être tenté d’installer via curl -sL https://deb.nodesource.com/setup_10.x | Sudo -E bash -
puis de procéder à l’installation avec Sudo apt install nodejs
.
Cependant, j'ai rencontré ce problème malgré tout. N'oubliez pas que npm @ 6 a abandonné la prise en charge du noeud @ <= 4, ce qui est un facteur contributif ici. Si vous voulez être sûr que tout est installé au plus tard et que les versions correctes sont correctes, je vous recommande vivement d'installer via nvm .
via les instructions nvm 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. Après l’installation, quittez le terminal, redémarrez-le et vérifiez que nvm est installé avec nvm --version
.
Si tout se passe bien, vous pouvez installer n’importe quelle version spécifique de node avec npm. La dernière version stable du noeud au moment de l’écriture est 10.15.3, donc
nvm install 10.15.3
Et bien sûr, si vous avez besoin d’aide, nvm --help
dispose d’une liste d’options.
Si vous utilisez nvm pour installer npm et node, essayez cette solution.
Apprenez à connaître l'emplacement exact du nœud actuellement utilisé et de l'installation de npm:
which node
Dans mon cas, c'était /home/ubuntu/.nvm/versions/node/
Maintenant, supprimez toutes les versions du noeud en utilisant:
Sudo rm -rf /home/ubuntu/.nvm/versions/node/
Vous pouvez maintenant utiliser nvm pour installer votre version requise de node et npm.
nvm install 4.9.1
D'autres réponses n'ont pas fonctionné pour moi sur Ubuntu et se sont retrouvées dans une impasse, avec un npm cassé ou incapable de réinstaller/mettre à jour npm.
La solution radicale que j'ai utilisée:
1/Supprimez toutes les traces de noeud. Suivez cette page en utilisant le script remove.sh en bas: http://kselax.ru/en/npm-errors/
2/Ensuite, réinstallez de nouveau le noeud nodejs + npm en utilisant le dernier script d’installation: https://github.com/nodesource/distributions/blob/master/README.md
Pour moi, réinstaller npm a fonctionné:
npm install -g npm