さくらのVPSにRuby1.9.1を導入
yumで導入できるrubyは1.8.5だったりするので,1.9系を利用するためにソースからのコンパイルを行ないました。
一般的な手順(configure,make,make install)で何のエラーも起きずrubyコマンドはインストールされ,実際に使えるようになるんですが,なぜかzlib拡張ライブラリがインストールされず,gem等を実行する際問題が起きてしまうようです。
色々と調べた結果,VC++での事例ですが参考になりそうな記事が見つかりました。
基本的には
- Ruby1.9のコンパイル時,zlibのライブラリとヘッダがパス上に存在しないと,zlib拡張ライブラリがインストールされない
- そもそも,VPSのデフォルト環境ではzlibのヘッダファイル(zlib.h)が存在しない
ということの様で,解決策としては
となります。
最終的に以下のような手順*1でRuby1.9.1p429のインストールが無事完了したような次第。
○zlibの開発用パッケージをインストール(ヘッダファイル用) [root@www****u ~]# yum install zlib-devel ○rubyユーザ作成,ロック((通常のログイン不可,必要に応じてrootからsuする)) [root@www****u ~]# useradd ruby [root@www****u ~]# usermod -L ruby ○rubyユーザにスイッチ [root@www****u ~]# su - ruby ○zlibライブラリ(libz.so.*)があるディレクトリを環境変数に定義 [root@www****u ~]# export LIB=/usr/lib ○zlibのヘッダファイル(zlib.h)があるディレクトリを環境変数に定義 [root@www****u ~]# export INCLUDE=/usr/include ○ソース展開用ディレクトリ作成,移動 [ruby@www****u ~]$ mkdir src [ruby@www****u ~]$ cd src ○Rubyの最新版ソースを取得(2010/7/17時点),展開,移動 [ruby@www****u src]$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p429.tar.gz [ruby@www****u src]$ tar zxvf ruby-1.9.1-p429.tar.gz [ruby@www****u src]$ cd ruby-1.9.1-p429 ○configure,make,install [ruby@www****u src]$ ./configure --prefix=/home/ruby [ruby@www****u src]$ make [ruby@www****u src]$ make test [ruby@www****u src]$ make install
あとは,/etc/bashrc を編集して,環境変数PATHに /home/ruby/bin を追加しておけば,どのユーザでログインしても,パスを気にせずrubyコマンドが使えて良い感じです。