CentOSのYumリポジトリにあるRubyは古過ぎて、gemの依存で引っかかる事が多い。
だから自分でCentOS5用のRPM作った。
現在安定版とされている2つのバージョンのRubyと、最新のRubyGems。
ruby-1.8.7.p334-1.i386.rpm
ruby-1.9.2.p180-1.i386.rpm
rubygems-1.7.2-1.i386.rpm
Yumでインストール
リポジトリ追加
cat <<-'YUMREPOSITORY' > /etc/yum.repos.d/eth0jp.repo [eth0jp] name=eth0jp repository baseurl=http://eth0jp-repo.appspot.com/repo/centos/$releasever/$basearch/ enabled=0 gpgcheck=0 YUMREPOSITORY
RubyとRubyGemsインストール
# ruby yum -y install --disablerepo='*' --enablerepo=eth0jp ruby-1.8.7.p334-1 # gems yum -y install --disablerepo='*' --enablerepo=eth0jp rubygems # rails gem install rails --include-dependencies -v=2.3.11 # passenger dependencies yum -y install gcc gcc-c++ curl-devel openssl-devel zlib-devel httpd-devel # passenger gem install passenger -v=2.2.15 yes '' | passenger-install-apache2-module echo 'LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15 PassengerRuby /usr/bin/ruby ' > /etc/httpd/conf.d/mod_passenger.conf
注意点
RPMの依存は何も設定していない。
普通の最小構成のCentOS5.5で確認しているけど、1CDのCentOSとかだと何か足りないパッケージがあるかも?
今のところ問題なく動いているけれど、使用は自己責任で。
環境
[web@labo ~]$ cat /etc/redhat-release CentOS release 5.5 (Final) [web@labo ~]$ uname -i i386 [web@labo ~]$ uname -r 2.6.18-194.el5xen
[web@labo ~]$ ruby -v ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux] [web@labo ~]$ gem -v 1.7.2 [web@labo ~]$ rails -v Rails 2.3.11
eth0jp Yum repository
http://eth0jp-repo.appspot.com/
2011-04-20 06:22:09
ビルドし直した。
prefixをデフォルト(/usr/local)から/usrに変更。
railsの./script/consoleでエラーが出たので、readline-develを入れてからビルド。
./configure --enable-shared --prefix=/usr