( Nie powtarzaj tych kroków, dopóki nie przeczytasz wszystkiego )
U mnie wszystkie wymienione rozwiązania nie działały. Więc poszedłem /usr/lib
i tam pobiegłem
for package in `ls node_modules`; do sudo npm uninstall $package; done;
Ale usunął też npm
paczkę i tylko połowę paczek (aż dotarła do litery n).
Więc spróbowałem ponownie zainstalować węzeł przez przewodnik węzłowy.
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
Ale nie zainstalował się npm
ponownie.
Postanowiłem więc przeinstalować cały węzeł
sudo apt-get remove nodejs
I ponownie zainstalować według powyższego przewodnika.
Teraz NPM znowu działa, ale moduły globalne nadal istnieją. Sprawdziłem więc zawartość katalogu /usr/lib/node_modules
i wydaje mi się, że jedyne ważne jest tutaj npm
. Więc zmodyfikowałem powyższe polecenie, aby odinstalować wszystko oprócznpm
for package in $(ls node_modules); do if [ "$package" != "npm" ]; then sudo npm uninstall $package; fi; done;
Usunął wszystkie moduły, które nie zostały poprzedzone @
. Więc rozszerzyłem pętlę dla podkatalogów.
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;
Mój /usr/lib/node_modules
teraz zawiera tylko npm
i połączone pakiety.