Há mais uma abordagem que não vi listada em nenhuma das outras respostas, e é usar as distribuições binárias para Linux que foram publicadas desde 0.8.6
Aqui está o script que eu uso:
# get the latest stable binary
latest_node=$(curl http://nodejs.org/dist/latest/SHASUMS.txt | grep 'linux-x64.tar.gz' | awk '{ print $2 }')
wget -O ~/nodestable.tar.gz http://nodejs.org/dist/latest/$latest_node
cd /usr/local/
sudo tar xzvf ~/nodestable.tar.gz --strip=1
Ou, se você quiser uma versão específica (por exemplo, permanecer na série 0.8):
wget http://nodejs.org/dist/v0.8.22/node-v0.8.22-linux-x64.tar.gz
cd /usr/local/
sudo tar xzvf ~/node-v0.8.22-linux-x64.tar.gz --strip=1
E para mim no CentOS 6.3, eu tive que adicionar os seguintes links para que os comandos node e npm funcionassem com o usuário comum ou com o sudo. Pode não ser necessário, dependendo da sua versão.
sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
Francamente, a situação do node.js no CentOS / RHEL é bastante ruim, pois nenhum dos repositórios inclui o node.js (consulte a pergunta relacionada aqui ). Esta resposta tem as mesmas desvantagens mencionadas anteriormente para compilar a partir da fonte.