CentOS 5.5 に Ruby 1.8.7をインストールします。今回はrubyのrpmパッケージを作成します。
前回既に導入されているruby1.8.5関連のパッケージは削除しました。
参照させていただいたサイトはこちら
RPMforgeリポジトリ導入(RPMforge)
http://centossrv.com/rpmforge.shtml
CentOS 5.2 上で Ruby の環境を整える
http://moimoitei.blogspot.com/2008/08/centos-52-ruby.html
CentOS本家のサイト
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge?action=show&redirect=Repositories%2FRPMForge#head-5aabf02717d5b6b12d47edbc5811404998926a1b
では始めましょう。
yum-prioritiesプラグイン導入
# yum -y install yum-priorities
# vi /etc/yum.repos.d/CentOS-Base.repo (編集)
=========================================
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
=========================================
(青字箇所 追加)
RPMForge導入
RPMforgeのGPGキーインストール
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
↓↓こちらの方法では何故かうまくいきませんでした。一旦ファイルをダウンロードしてから実行してもインストールできませんでした。
# wget http://dag.wiees.com/rpm/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt
RPMforge packageのダウンロード
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
一応ベリファイ
# rpm -K rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpmforge-release-0.5.2-2.el5.rf.i386.rpm: (sha1) dsa sha1 md5 gpg OK
RPMforgeのインストール
# rpm -i rpmforge-release-0.5.2-2.el5.rf.i386.rpm
checkinstall のインストール
# yum --enablerepo=rpmforge install checkinstall
rpmbuildのインストール(後でない!と怒られた)
# yum install rpm-build
ruby ダウンロード $ make dir ~/src
$ cd ~/src
$ make dir ruby1.8.7
$ cd ruby1.8.7
$ wget wget http://core.ring.gr.jp/archives/lang/ruby/1.8/ruby-1.8.7-p330.tar.gz
※ ftpが利用できなかったので、ミラーサイトからダウンロード
インストール
$ tar -xf ruby-1.8.7-p330.tar.gz
$ cd ruby-1.8.7-p330
$ ./configure --prefix=/usr
$ make
checkinstall を実行しようとした際、
/usr/sbin
がpathに設定されていないので・・・見つけるのに時間がかかった・・・# /usr/sbin/checkinstall --fstrans=no
# rpm -ivh /usr/src/redhat/RPMS/i386/ruby-1.8.7-p330-1.i386.rpm
ところが、今回は一度ruby1.8.7をインストールしてしまっているせいか、依存性の欠如なるエラーが発生。
# rpm -ivh /usr/src/redhat/RPMS/i386/ruby-1.8.7-p330-1.i386.rpm
エラー: 依存性の欠如:
/usr/bin/ruby は ruby-1.8.7-p330-1.i386 に必要とされています
# rpm -ih --nodeps /usr/src/redhat/RPMS/i386/ruby-1.8.7-p330-1.i386.rpm
########################################### [100%]
########################################### [100%]
以上でインストール完了。
いつもの
# ruby -v
ruby 1.8.7 (2010-12-23 patchlevel 330) [i686-linux]
でバージョンを確認します。
ついでに RubyGemsのインストール
$ mkdir ~/src/rubygems
$ wget http://rubyforge.org/frs/download.php/74234/rubygems-1.5.2.tgz
# /usr/sbin/checkinstall -R "ruby setup.rb"
# rpm -ih /usr/src/redhat/RPMS/i386/rubygems-1.5.2-1.i386.rpm
########################################### [100%]
########################################### [100%]
わたしの場合、何故か error.rb がrpmパッケージでインストールされず、
前回rubyをインストールした時のように、やり直ししました。
# make install
すると以下のように、ライブラリが増え、RubyGemsが無事インストールできました。
発生したエラーは loaderror で yaml/error が見付からないというものでした。
# ls /usr/lib/ruby/1.8/yaml
baseemitter.rb dbm.rb loader.rb stream.rb tag.rb ypath.rb
basenode.rb encoding.rb rubytypes.rb stringio.rb types.rb
constants.rb error.rb store.rb syck.rb yamlnode.rb
これでひとまずRubyの開発環境が整いました。