Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)

My version of node is always v0.6.1-pre even after I install brew node and NVM install v0.6.19.

My node version is:

node -v v0.6.1-pre 

NVM says this (after I install a version of node for the first time in one bash terminal):

nvm ls v0.6.19 current:    v0.6.19 

But when I restart bash, this is what I see:

nvm ls v0.6.19 current:    v0.6.1-pre default -> 0.6.19 (-> v0.6.19) 

So where is this phantom node 0.6.1-pre version and how can I get rid of it? I'm trying to install libraries via NPM so that I can work on a project.

I tried using BREW to update before NVM, using brew update and brew install node. I've tried deleting the "node" directory in my /usr/local/include and the "node" and "node_modules" in my /usr/local/lib. I've tried uninstalling npm and reinstalling it following these instructions.

All of this because I was trying to update an older version of node to install the "zipstream" library. Now there's folders in my users directory, and the node version STILL isn't up to date, even though NVM says it's using 0.6.19.

Ideally, I'd like to uninstall nodejs, npm, and nvm, and just reinstall the entire thing from scratch on my system.

like image 537
Dominic Tancredi Avatar asked Jun 24 '12 13:06

Dominic Tancredi


People also ask

How do I completely uninstall node JS Mac?

You simply have to launch the Terminal on your Mac computer. After that, type in “ brew uninstall --force node ”. Once you have executed this command within your Terminal, Homebrew will now uninstall Node within your computer --- all versions of it will be removed.


2 Answers

Apparently, there was a /Users/myusername/local folder that contained a include with node and lib with node and node_modules. How and why this was created instead of in my /usr/local folder, I do not know.

Deleting these local references fixed the phantom v0.6.1-pre. If anyone has an explanation, I'll choose that as the correct answer.

EDIT:

You may need to do the additional instructions as well:

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*} 

which is the equivalent of (same as above)...

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp  

or (same as above) broken down...

To completely uninstall node + npm is to do the following:

  1. go to /usr/local/lib and delete any node and node_modules
  2. go to /usr/local/include and delete any node and node_modules directory
  3. if you installed with brew install node, then run brew uninstall node in your terminal
  4. check your Home directory for any local or lib or include folders, and delete any node or node_modules from there
  5. go to /usr/local/bin and delete any node executable

You may also need to do:

sudo rm -rf /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d 

Additionally, NVM modifies the PATH variable in $HOME/.bashrc, which must be reverted manually.

Then download nvm and follow the instructions to install node. The latest versions of node come with npm, I believe, but you can also reinstall that as well.

like image 197
Dominic Tancredi Avatar answered Nov 13 '22 05:11

Dominic Tancredi


For brew users, OSX:

To remove:

brew uninstall node;  # or `brew uninstall --force node` which removes all versions brew cleanup; rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d; rm -rf ~/.npm; 

To install:

brew install node; which node # => /usr/local/bin/node export NODE_PATH='/usr/local/lib/node_modules' # <--- add this ~/.bashrc 

You can run brew info node for more details regarding your node installs.


consider using NVM instead of brew

NVM (node version manager) is a portable solution for managing multiple versions of node

https://github.com/nvm-sh/nvm

> nvm uninstall v4.1.0 > nvm install v8.1.2 > nvm use v8.1.2 > nvm list          v4.2.0          v5.8.0         v6.11.0 ->       v8.1.2          system 

you can use this with AVN to automatically switch versions as you hop between different projects with different node dependencies.

like image 34
lfender6445 Avatar answered Nov 13 '22 05:11

lfender6445