To run this, you can try:
curl -ksO https://gist.githubusercontent.com/nicerobot/2697848/raw/uninstall-node.sh
chmod +x ./uninstall-node.sh
./uninstall-node.sh
rm uninstall-node.sh
#!/bin/sh | |
(( ${#} > 0 )) || { | |
echo 'DISCLAIMER: USE THIS SCRIPT AT YOUR OWN RISK!' | |
echo 'THE AUTHOR TAKES NO RESPONSIBILITY FOR THE RESULTS OF THIS SCRIPT.' | |
echo "Disclaimer aside, this worked for the author, for what that's worth." | |
echo 'Press Control-C to quit now.' | |
read | |
echo 'Re-running the script with sudo.' | |
echo 'You may be prompted for a password.' | |
sudo ${0} sudo | |
exit $? | |
} | |
# This will need to be executed as an Admin (maybe just use sudo). | |
for bom in org.nodejs.node.pkg.bom org.nodejs.pkg.bom; do | |
receipt=/var/db/receipts/${bom} | |
[ -e ${receipt} ] && { | |
# Loop through all the files in the bom. | |
lsbom -f -l -s -pf ${receipt} \ | |
| while read i; do | |
# Remove each file listed in the bom. | |
rm -v /usr/local/${i#/usr/local/} | |
done | |
} | |
done | |
# Remove directories related to node.js. | |
rm -vrf /usr/local/lib/node \ | |
/usr/local/lib/node_modules \ | |
/var/db/receipts/org.nodejs.* | |
exit 0 |
I removed the curl version. It won't work and results in the sudo sudo
problem mentioned above. @xxd3vin @samj
Worked fine in OS X El Capitan v10.11.6. Thank you :)
This gist is referenced by this SO post, if you run into problems: https://stackoverflow.com/questions/35249204/node-already-installed-its-just-not-linked
Thanks for the script. In addition to the script, I also had to remove /usr/local/bin/node
Script works fine for me after changing line 23 from
# this tries to delete /usr/local/./usr/local/.....
rm -v /usr/local/${i}
to
# this works fine :)
rm -v ${i:1}
Mac OS Mojave 10.14.6
macOS Big Sur 11.1
I had to manually delete these after:
/usr/local/bin/node
/usr/local/bin/npm
/usr/local/bin/npx
Aside from that, seems to have done the trick.
It seems that lsbom
(now?) outputs paths beginning with ./usr/local/
rather than /usr/local/
. Therefore, line 23 needs to be adjusted:
- rm -v /usr/local/${i#/usr/local/}
+ rm -v /usr/local/${i#./usr/local/}
Indeed, it looks like they changed the output. That's unfortunate.
You can use my forked gist:
https://gist.github.com/ryangatchalian912/75c6894c3f3143fef366d25eb63437ab
Copy and paste these commands into your Terminal:
curl -ksO https://gist.githubusercontent.com/ryangatchalian912/75c6894c3f3143fef366d25eb63437ab/raw/9345866b0f3d0bb0ab1bebbe721a811f15a2adbe/uninstall-node.sh
chmod +x ./uninstall-node.sh
sudo ./uninstall-node.sh
rm uninstall-node.sh
It works on Mac OSX Big Sur (11.4).
after running the script first time i ran node -v command which gave following output:
(base) jaikishansharma@Jaikishans-MacBook-Air ~ % node -v
v16.10.0
and when i ran this script again it gave following output:
(base) jaikishansharma@Jaikishans-MacBook-Air ~ % curl -ksO https://gist.githubusercontent.com/ryangatchalian912/75c6894c3f3143fef366d25eb63437ab/raw/9345866b0f3d0bb0ab1bebbe721a811f15a2adbe/uninstall-node.sh
chmod +x ./uninstall-node.sh
sudo ./uninstall-node.sh
rm uninstall-node.sh
Password:
Node.js not found. Nothing to do.
can anyone explain how node -v still indicate that node.js is still installed on my mac
@jk62 There are multiple ways to install Node.js these days. This script was created to uninstall the MacOS package installer version of Node.js. If you install using brew
or nvm
or some other package/version manager like that, this script isn't useful. To know whether this script makes sense, try the following to give a clue of how it was installed:
which node
works fine