(Ne répliquez pas ces étapes avant d'avoir lu le tout)
Pour moi, toutes les solutions mentionnées n'ont pas fonctionné. J'ai donc été dans /usr/lib
et j'ai exécuté ceci :
for package in `ls node_modules`; do sudo npm uninstall $package; done;
Mais cela a également supprimé le paquet npm
et seulement la moitié des paquets (jusqu'à ce qu'il atteigne la lettre n).
Donc j'ai essayé de réinstaller node en suivant le guide de node.
# Utilisant Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
Mais cela n'a pas réinstallé npm
à nouveau.
Alors j'ai décidé de réinstaller node entièrement sudo apt-get remove nodejs
Et d'installer à nouveau en suivant 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 il semble que le seul important ici soit npm
. J'ai donc modifié la commande ci-dessus pour désinstaller tout sauf npm
for package in $(ls node_modules); do if [ "$package" != "npm" ]; then sudo npm uninstall $package; fi; done;
Cela a supprimé tous les modules qui n'étaient pas préfixés par @
. J'ai donc é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;
Mon /usr/lib/node_modules
ne contient désormais que npm
et des paquets liés.