The Question is similar to but for Ubuntu, and mainly concerns the cleanup part.
Installation was done as usual by: sudo apt-get install node, however I later used the npm command to install multiple packages as more than one users.
How do I completely remove npm along with all libraries, packages and any other files installed by npm on my system by e.g. npm install -g @vue/cli? I would probably have to uninstall from apt, but the main question has to do with all the changes npm did.
Notes:
- I am on Ubuntu 20.04 LTS npm version 7.5.6 if that matters
- As there seems to be some fights about people uninstalling npm going on currently, please do not downvote just because I want to uninstall, I plan to reinstall :)
Edit-Reminder to future self and others: For reinstalling without sudo , a link with recipes can be found here. It is still unclear to me what's best but on the other hand there is README.md#debinstall so possibly use apt to install node, then use prefix...
2 Answers
This will be messy ...
The simplest solution that I have found to this problem when trying to "fix" a broken development server that couldn't be formatted and rebuilt from scratch due to "management" is this:
- remove the globally installed packages
- delete the locally installed packages from the various
/homedirectories and/root - remove Node
Here's the basic process:
- Open Terminal (if it's not already open) or SSH into the machine (if you don't have physical access)
- List all globally installed packages:
npm list -g --depth 0 - Uninstall the global packages one by one with:
If you'd like to also do this for locally installed packages from your account, you can do this:sudo npm uninstall -g <package-name>
Thenpm list npm uninstall -S <package-name>-Sflag will also remove the reference in yourpackage.jsonfile - Remove the following directories:
⇢/etc/npmrc
⇢/home/youruser/.npmrc
⇢/root/.npmrc
⇢./.npmrcin any project directory next topackage.json(search by usinglocate .npmrc) - Remove the Node package:
sudo apt remove nodejs --purge sudo apt remove npm --purge - Finally, remove the straggling files and directories:
... and the modules:sudo rm -rf /usr/local/bin/npm \ /usr/local/share/man/man1/node* \ /usr/local/lib/dtrace/node.d \ ~/.npm \ ~/.node-gyp \ /opt/local/bin/node \ /opt/local/include/node \ /opt/local/lib/node_modules
... and the include modules:sudo rm -rf /usr/local/lib/node*
... and the files in the localsudo rm -rf /usr/local/include/node*/bin:sudo rm -rf /usr/local/bin/node* - Enjoy a 15-minute break, because you're done
At this point, you can reinstall Node and its package manager if you wish to start over with a clean slate.
The command I use to remove all packages from npm is..
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rmFailing that (and sometimes npm can get very clingy)..
sudo rm -rf /usr/local/node_modules
rm -rf ~/.npm* 0