CentOS 5.8(64bit版)にRuby on Railsを主にyumでインストールしてみる→失敗

スポンサーリンク

コンテンツ

途中まではさくらのVPS(CentOS 6.2 64bit版)にRuby on Railsをインストールしてみると同じ感じでやってみました。

関連パッケージのインストール

# yum -y install zlib-devel openssl-devel mysql-devel

ruby本体とrubygemsのインストール

# yum -y install ruby ruby-devel rubygems

ruby-gemsというのは、rubyにおけるパッケージ管理システムのようなものみたいです。PHPのPEARみたいな感じらしい。

rubyとruby gemsのバージョン確認

# ruby -v
ruby 1.8.5 (2006-08-25) [x86_64-linux]
# gem -v
1.3.1

ruby-gemを使って、Ruby on Railsをインストール

# gem install rails --include-dependencies
INFO:  `gem install -y` is now default and will be removed
INFO:  use --ignore-dependencies to install only the gems you list
ERROR:  Error installing rails:
        i18n requires RubyGems version >= 1.3.5

となり、rubygemsが古くてrubyonrailsがインストールできないっぽい。レポジトリdag,epelなどを探しても最新版は1.3.3。仕方ないのでSRPMからrubygemsの1.3.5を作成する。

以下、SRPMからRPMの作成。rootでなく一般ユーザでするべきみたいです。

☆ディレクトリ構成

ホームディレクトリ
├work //ワーク用ディレクトリ
│ └rubygems-1.3.7-2.fc14
└rpm //SRPMをビルドするための各種ディレクトリ
 ├BUILD
 ├RPMS
 ├SOURCES
 ├SPECS
 └SRPMS

SRPMからRPMを作る準備 その1(SRPMSからRPMを作るディレクトリや環境変数の設定)

$ cd
$ mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
$ echo "%_topdir $HOME/rpm" > $HOME/.rpmmacros

mkdirの-pオプションは、後に続くディレクトリを一気に作ります。

SRPMのダウンロード&SRPMSからRPMを作成

$ cd ~/work
$ wget http://ftp.riken.jp/Linux/fedora/releases/14/Everything/source/SRPMS/rubygems-1.3.7-2.fc14.src.rpm
$ mkdir rubygems-1.3.7-2.fc14
$ cd rubygems-1.3.7-2.fc14
$ rpm2cpio ~/work/rubygems-1.3.7-2.fc14.src.rpm | cpio -i
585 blocks
$ mv rubygems.spec ~/rpm/SPECS/
$ mv rubygems-* ~/rpm/SOURCES/
$ cd ~/rpm/SPECS/
$ rpmbuild -ba rubygems.spec 

とするとrpmbuildが開始するんですが

ERROR:  Expected Ruby version >= 1.8.6, is 1.8.5
エラー: /var/tmp/rpm-tmp.56390 の不正な終了ステータス (%install)


RPM ビルドエラー:
    /var/tmp/rpm-tmp.56390 の不正な終了ステータス (%install)

と。rubyが1.8.6以上じゃないとgems1.3.5はダメですよ、と怒っている(´・ω・`)つまりはrubyのバージョンをあげないとダメっぽい。yumで探してもCentOS5.8の場合はruby1.8.6はないみたいだし。CentOS6にあげるか、rubyをソースからビルドしたほうが良さそう。

でもまあ、SRPMSからRPMSをつくる流れみたいなものの勉強になったから良いか。やってみたら大体わかった。参考にしたページに微妙に誤字があってはう><ってなったけど。

以下のページを参考にしました。
CentOS 5用バイナリパッケージ
オレオレrpmパッケージの作り方(基本編) — ディノオープンラボラトリ