( Đừ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/libvà chạy đến đó
for package in `ls node_modules`; do sudo npm uninstall $package; done;
Nhưng nó cũng loại bỏ npmgó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 npmlạ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_modulesvà 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_modulesbây giờ chỉ chứa npmvà các gói được liên kết.