Hatena::ブログ(Diary)

motsatのブログ

2011-08-13

さくらVPSで、node0.5.3〜npmのinstallではまった

ローカルのnode.js環境をさくらVPSに移した。

いくつかはまる部分があったので備考録。

まずはnode.jsのソースをもってきてconfigure。

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

ググってみると、英語のページでPythonが古いんだみたいな事を言われていた。

最新(2.7.2)をいれる。

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

Pythonはすんなり入った。

では、再度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インストール時に無いといけなかったららしい。。

yum install bzip2-devel

しかもこれはPythonインストール時に必要だったらしい。

↑のPythonインストール(./configure〜make install)をもう一度。。

これで、nodeのmake、make installも通った。

'install' finished successfully (0.137s)

また、その後npmのinstallでもはまった。

npm install socket.io

下記のエラー出力。

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が古いようだ。(ver 1.15)

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

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/motsat/20110813/1313214923
リンク元