( Ne reproduisez pas ces étapes avant d'avoir tout lu )
Pour moi, toutes les solutions mentionnées n'ont pas fonctionné. Alors je suis allé /usr/lib
et j'ai couru là-bas
for package in `ls node_modules`; do sudo npm uninstall $package; done;
Mais il a également supprimé le npm
paquet et seulement la moitié des paquets (jusqu'à ce qu'il atteigne la lettre n).
J'ai donc essayé à nouveau d'installer node par le guide des nœuds.
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
Mais il ne s'est pas réinstallé npm
.
J'ai donc décidé de réinstaller le nœud entier
sudo apt-get remove nodejs
et de l'installer à nouveau par le guide ci-dessus.
Maintenant, NPM fonctionne à nouveau mais les modules globaux sont toujours là. J'ai donc vérifié le contenu du répertoire /usr/lib/node_modules
et semble que le seul important ici soit npm
. J'ai donc édité la commande ci-dessus pour tout désinstaller saufnpm
for package in $(ls node_modules); do if [ "$package" != "npm" ]; then sudo npm uninstall $package; fi; done;
Il a supprimé tous les modules qui n'étaient pas préfixés @
. Donc j'ai étendu la boucle pour les sous-répertoires.
for package in $(ls node_modules); do if [ ${package:0:1} = \@ ]; then
for innerPackage in $(ls node_modules/${package}); do
sudo npm uninstall "$package/$innerPackage";
done;
fi; done;
My /usr/lib/node_modules
ne contient désormais que des npm
packages liés.