I have come to prefer compiling from source according to the instructions here:
(note that I did not come up with this method, but I am reposting it here in case something happens to the link)
export NODE_PARENT=/some/desired/install/path_goes_here
export NODE_PARENT=/usr/local/bin/nodejs # use this if you want to install as root (sudo)
export NODE_PARENT=${HOME}/nodejs-v0.10.33 # use this if you want to install modules as yourself
export PATH=${NODE_PARENT}/bin:${PATH}
export NODE_PATH=${NODE_PARENT}/lib/node_modules
./configure --prefix=${NODE_PARENT}
make
make install
NODE_PARENT, NODE_PATH, and the alteration to your PATH should all go in your .bash_profile in order to persist between sessions. Also don't forget the --prefix flag with running the configure script!
This gives me node and anything I `npm install -g` in a directory that is local to my user profile (I put it in my Home) without having to use sudo and thus without running into the permissions problems I have had in the past when installing via binary to usr/bin.
Once the latest node is installed from source I use
n to manage other versions.