Есть еще один подход, который я не видел в других ответах, а именно использование бинарных дистрибутивов для Linux, которые были опубликованы с 0.8.6.
Вот скрипт, который я использую:
# 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
Или, если вы хотите конкретную версию (например, чтобы остаться на 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
А для меня в CentOS 6.3 мне пришлось добавить следующие ссылки, чтобы команды node и npm работали как от обычного пользователя, так и от sudo. Может не понадобиться в зависимости от вашей версии.
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
Честно говоря, ситуация с node.js в CentOS / RHEL довольно плохая, поскольку ни одна из репозиториев не включает node.js (см. Связанный вопрос здесь ). Этот ответ имеет те же недостатки, что и упомянутые ранее для компиляции из исходного кода.