CentOS5にnode.jsとsocket.ioを入れた話

node.jsのインストール方法は既にいろんなところで書かれているのだけど、何か所か詰まったのでメモ。

  • yum経由で必要なパッケージのインストール
  • node.js
  • npm
  • nvm
  • tar
  • socket.io

なお、先にnvmを入れるやり方もあって、下記のエントリが参考になる。nvm→node.js→npm→socket.ioの順でインストールすればうまくいく。
http://d.hatena.ne.jp/mollifier/20110221/p1

yum経由で必要なパッケージのインストール

$ sudo yum install openssl-devel gcc-c++

node.js

$ wget http://nodejs.org/dist/node-v0.4.11.tar.gz
$ tar zxf node-v0.4.11.tar.gz
$ cd node-v0.4.11
$ ./configure
$ make
$ sudo make install
$ node -v
v0.4.11

npm

$ sudo chown $USER /usr/local
$ curl http://npmjs.org/install.sh | sh
$ sudo chown root /usr/local
$ npm -v
1.0.27

nvm

$ npm install nvm

source ~/.bashrcしろというメッセージがでるので、その通りにすると、

$ source ~/.bashrc 
bash: /.npm/nvm/0.0.6/package/nvm.sh: そのようなファイルやディレクトリはありません

と言われた。.bashrcに上記の存在しないパスが追記されているので、
/.npm/nvm/0.0.6/package/nvm.sh を、存在するパス
.npm/nvm/0.0.6/package/nvm.sh に書き換える。

$ nvm install v0.4.8
$ nvm use v0.4.8

tar

npm経由でsocket.ioをインストールする際に、tarの1.2系が必要になるのだが、CentOS5のyumでは1.1系までしか入らないので、tarをソースからインストールする。

$ wget ftp://mirrors.kernel.org/gnu/tar/tar-1.26.tar.gz
$ tar zxf tar-1.26.tar.gz
$ cd tar-1.26
(古いtarを削除する)
$ sudo rpm -e --nodeps tar
$ ./configure
$ make
$ sudo make install

socket.io

npmで入れることができるようになる。

$ npm install socket.io