コンテンツ
途中まではさくらの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パッケージの作り方(基本編) — ディノオープンラボラトリ