さくらVPSで、node0.5.3〜npmのinstallではまった
ローカルのnode.js環境をさくらVPSに移した。
いくつかはまる部分があったので備考録。
まずはnode.jsのソースをもってきてconfigure。
落ちた・・。pythonがエラーってるっぽい。
cd /usr/local/src/
wget http://nodejs.org/dist/v0.5.3/node-v0.5.3.tar.gz
tar xzvf node-v0.5.3.tar.gz
cd node-v0.5.3
./configure
ググってみると、英語のページでPythonが古いんだみたいな事を言われていた。
/usr/local/src/node-v0.5.3/wscript: error: Traceback (most recent call last):
File "/usr/local/src/node-v0.5.3/tools/wafadmin/Utils.py", line 274, in load_module
exec(compile(code, file_path, 'exec'), module.__dict__)
File "/usr/local/src/node-v0.5.3/wscript", line 222
"-pre" if node_is_release == "0" else ""
^
SyntaxError: invalid syntax
最新(2.7.2)をいれる。
Pythonはすんなり入った。
wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar xzvf Python-2.7.2.tgz
cd Python-2.7.2
./configure
make
make install
では、再度node.jsのインストール
configure通過。
./configure
次はmakeがこけた。
make
[ 5/36] libv8.a: deps/v8/SConstruct -> build/default/libv8.a
/usr/local/bin/python "/usr/local/src/node-v0.5.3/tools/scons/scons.py" -j 1 -C "/usr/local/src/node-v0.5.3/build/default/" -Y "/usr/local/src/node-v0.5.3/deps/v8" visibility=default mode=release arch=x64 toolchain=gcc library=static snapshot=on
scons: Reading SConscript files ...
ImportError: No module named bz2:
File "/usr/local/src/node-v0.5.3/deps/v8/SConstruct", line 37:
import js2c, utils
File "/usr/local/src/node-v0.5.3/deps/v8/tools/js2c.py", line 36:
import bz2
Waf: Leaving directory `/usr/local/src/node-v0.5.3/build'
Build failed: -> task failed (err #2):
{task: libv8.a SConstruct -> libv8.a}
make: *** [program] Error 1
bz2がない?またググってみるとbzip2-develが必要らしい。しかもそれはPythonインストール時に無いといけなかったららしい。。
しかもこれはPythonのインストール時に必要だったらしい。
yum install bzip2-devel
↑のPythonインストール(./configure〜make install)をもう一度。。
これで、nodeのmake、make installも通った。
'install' finished successfully (0.137s)
また、その後npmのinstallでもはまった。
下記のエラー出力。
npm install socket.io
これはtarが古いようだ。(ver 1.15)
npm ERR! tar "-mvxpf" "-" "-o" "-C" "/tmp/npm-1313209389660/1313209389660-0.5830379514954984/contents/___package.npm" tar: Ignoring unknown extended header keyword `LIBARCHIVE.creationtime'
npm ERR! tar "-mvxpf" "-" "-o" "-C" "/tmp/npm-1313209389660/1313209389660-0.5830379514954984/contents/___package.npm" tar: Ignoring unknown extended header keyword `SCHILY.dev'
npm ERR! tar "-mvxpf" "-" "-o" "-C" "/tmp/npm-1313209389660/1313209389660-0.5830379514954984/contents/___package.npm" tar: Ignoring unknown extended header keyword `SCHILY.ino'
tarをバージョンアップ。
この際、FORCE_UNSAFE_CONFIGURE(安全でないconfigureを強制。。)を1にしないとcofigureが通らなかった。
wget http://files1.directadmin.com/services/all/tar-1.26.tar.gz
tar xzvf tar-1.26.tar.gz
cd tar-1.26
./configure && make && make install
FORCE_UNSAFE_CONFIGURE=1
export FORCE_UNSAFE_CONFIGURE
./configure && make && make install
入った。
これでやっと、npm installも通る。
やっとうまくいった。長かった。。だいたいソースからのインストール系ってすんなりいった記憶が少ない
npm install socket.io
socket.io@0.7.9 ../node_modules/socket.io
├── policyfile@0.0.4
├── redis@0.6.6
└── socket.io-client@0.7.9