( No repita estos pasos hasta que haya leído todo )
Para mí, todas las soluciones mencionadas no funcionaron. Así que fui /usr/lib
y corrí allí
for package in `ls node_modules`; do sudo npm uninstall $package; done;
Pero también eliminó el npm
paquete y solo la mitad de los paquetes (hasta que llegó a la letra n).
Así que intenté instalar el nodo nuevamente con la guía del nodo.
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
Pero no se instaló de npm
nuevo.
Así que decidí reinstalar todo el nodo
sudo apt-get remove nodejs
y volver a instalarlo según la guía anterior.
Ahora NPM está funcionando nuevamente, pero los módulos globales todavía están allí. Así que verifiqué el contenido del directorio /usr/lib/node_modules
y parece que lo único importante aquí es npm
. Así que edité el comando anterior para desinstalar todo exceptonpm
for package in $(ls node_modules); do if [ "$package" != "npm" ]; then sudo npm uninstall $package; fi; done;
Eliminó todos los módulos que no tenían prefijos @
. Entonces extendí el ciclo para subdirectorios.
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;
Mi /usr/lib/node_modules
ahora contiene solo npm
paquetes vinculados.