CentOS 4 なサーバーに yum で ruby をインストールしたら、
ruby 1.8.1 がインストールされた。

# yum -y install ruby
# ruby -v
ruby 1.8.1 (2003-12-25) [i386-linux-gnu]

まぁちょっとくらいバージョン低くてもいっかーって思ってたけど、
rubygems がうまくインストールできなくて困った。
(ruby 1.8.1 でインストールできる rubygems は 1.3.1 らしい。)

# wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
# tar xzf rubygems-1.3.1.tgz
# cd rubygems-1.3.1
# ruby setup.rb 
./lib/rubygems.rb:723:in `set_paths': uninitialized constant Gem::Etc (NameError)
	from ./lib/rubygems.rb:719:in `each'
	from ./lib/rubygems.rb:719:in `set_paths'
	from ./lib/rubygems.rb:526:in `path'
	from ./lib/rubygems/source_index.rb:66:in `installed_spec_directories'
	from ./lib/rubygems/source_index.rb:56:in `from_installed_gems'
	from ./lib/rubygems.rb:736:in `source_index'
	from ./lib/rubygems/gem_path_searcher.rb:86:in `init_gemspecs'
	from ./lib/rubygems/gem_path_searcher.rb:21:in `initialize'
	from ./lib/rubygems.rb:684:in `new'
	from ./lib/rubygems.rb:684:in `searcher'
	from ./lib/rubygems.rb:683:in `synchronize'
	from ./lib/rubygems.rb:683:in `searcher'
	from ./lib/rubygems/custom_require.rb:34:in `require'
	from /usr/lib/ruby/1.8/tmpdir.rb:12
	from ./lib/rubygems/custom_require.rb:31:in `gem_original_require'
	from ./lib/rubygems/custom_require.rb:31:in `require'
	from setup.rb:95

ググってみると、
「バージョンを上げなよ」的なことを言われたので、
大人しくバージョンを上げることにする。

ただ、インストールはできるだけパッケージ管理アプリケーションに任せたいので、
下記サイトを参考にrpmパッケージを作成してインストールすることにする。

CentOSのyumでインストールしたRubyをバージョンアップ(インストール) « FlatLabs Blog

 

まずは ruby のアンインストールと、
rpm-build と checkinstall のインストール。


# yum -y remove ruby ruby-devel ruby-libs
# yum -y install rpm-build checkinstall
# rpm -q rpm-build
rpm-build-4.3.3-33_nonptl.el4_8.1
# rpm -q checkinstall
checkinstall-1.6.0-3.el4.rf

そんでもって、
ruby のソースをダウンロードして、
rpmパッケージ作成、
そしてインストール。

# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p302.tar.gz
# tar zxvf ruby-1.8.7-p302.tar.gz
# cd ruby-1.8.7-p302
# ./configure --prefix=/usr
# make
# checkinstall --fstrans=no

なんかいろいろ聞かれるけど、
上記サイトを参考に適当に答えてたら、
ruby-1.8.7-p302-1.i386.rpm が完成、
そしてインストール。

# rpm -Uvh /usr/src/redhat/RPMS/i386/ruby-1.8.7-p302-1.i386.rpm
# ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

引き続き rubygems 1.3.7 をインストール。

# wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
# tar xzf rubygems-1.3.7.tgz
# cd rubygems-1.3.7
# ruby setup.rb
# gem -v
1.3.7

以上。