( Đừng lặp lại các bước này cho đến khi bạn đọc hết mọi thứ )
Đối với tôi, tất cả các giải pháp được đề cập đều không hoạt động. Soo tôi đã đến /usr/lib
và chạy đến đó
for package in `ls node_modules`; do sudo npm uninstall $package; done;
Nhưng nó cũng loại bỏ npm
gói và chỉ một nửa số gói (cho đến khi nó đạt đến chữ cái n).
Vì vậy, tôi đã cố gắng cài đặt lại nút theo hướng dẫn nút.
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
Nhưng nó không cài đặt npm
lại.
Vì vậy, tôi quyết định cài đặt lại toàn bộ nút
sudo apt-get remove nodejs
Và cài đặt lại theo hướng dẫn ở trên.
Bây giờ NPM đã hoạt động trở lại nhưng các mô-đun toàn cầu vẫn ở đó. Vì vậy, tôi đã kiểm tra nội dung của thư mục /usr/lib/node_modules
và có vẻ như điều quan trọng duy nhất ở đây là npm
. Vì vậy, tôi đã chỉnh sửa lệnh ở trên để gỡ cài đặt mọi thứ ngoại trừnpm
for package in $(ls node_modules); do if [ "$package" != "npm" ]; then sudo npm uninstall $package; fi; done;
Nó loại bỏ tất cả các mô-đun những gì không có tiền tố @
. Soo Tôi đã mở rộng vòng lặp cho các thư mục con.
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;
Của tôi /usr/lib/node_modules
bây giờ chỉ chứa npm
và các gói được liên kết.