node.jsがソースからインストール出来ない場合

node.jsのインストールでハマったことがあったので対処をメモっておく。

まずコンパイル時にgcc-c++が必要。
あとopensslも要るので、必要に応じて以下を実行。

yum install gcc-c++ openssl-devel

よし、じゃあconfigureしてインストール、と思ったら通らない。
pythonのバージョンが2.5?2.6?以上じゃないとダメらしい。
つまりCentOS標準のpythonだとインストール出来ない。

というわけでpython-2.7.3をインストール。
システムのを入れ替えるのはめんどくさいのでソースから。

cd /usr/local/src
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
tar zxvf Python-2.7.3.tgz; cd Python-2.7.3
./configure --prefix=/usr/local/python-2.7.3
make && make install

次はnode.jsのビルド。
まず、configureファイルの1行目を見ると

#!/usr/bin/env python

ってなってるので以下のように変更

#!/usr/bin/env /usr/local/python-2.7.3/bin/python

これで別途ソースからインストールしたpythonを使ってくれるので、以下のコマンドを実行。

./configure --prefix=/usr/local/node-v0.10.0
make
PYTHON=/usr/local/python-2.7.3/bin/python make install

気をつけないといけないのは最後のmake install時。pythonの場所を指定してあげないと途中でコケる。

これで晴れてnode.jsがインストールできる。
と、これを書いている途中で確認していたら、どうやら最近出たCentOS6.4に標準で入っているpythonはバージョンが2.6.6だった。
CentOS5系や6.3以前を使っている場合は以上の手順でインストールできるはず。