( Não replique essas etapas antes de ler tudo )
Para mim, todas as soluções mencionadas não funcionaram. Então eu fui /usr/lib
e corri lá
for package in `ls node_modules`; do sudo npm uninstall $package; done;
Mas também removeu o npm
pacote e apenas metade dos pacotes (até chegar à letra n).
Então, tentei instalar o nó novamente pelo guia de nó.
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
Mas não foi instalado npm
novamente.
Então decidi reinstalar o nó inteiro
sudo apt-get remove nodejs
E instalar novamente pelo guia acima.
Agora o NPM está funcionando novamente, mas os módulos globais ainda estão lá. Então eu verifiquei o conteúdo do diretório /usr/lib/node_modules
e parece que o único importante aqui é npm
. Então editei o comando acima para desinstalar tudo, excetonpm
for package in $(ls node_modules); do if [ "$package" != "npm" ]; then sudo npm uninstall $package; fi; done;
Ele removeu todos os módulos que não foram prefixados @
. Então, eu estendi o loop para subdiretórios.
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;
Meu /usr/lib/node_modules
agora contém apenas npm
pacotes vinculados.