Installing Ruby 1.9.2 on CentOS 5.6

Ruby 拡張の rpm 作成時に Requires を指定するようにしてみた。

連休ということで Ruby on Rails に手を出すためにまずは Ruby の install から。なんか 1.8 系と 1.9 系でいろいろ変わったらしいんだけどいままでまともに Ruby 触ったことないので 1.9 系を選択。

でも yum だと入る version が 1.8.5 なので自前で compile する。のにあわせて念のための checkinstall もするので前準備としていれておく -> http://d.hatena.ne.jp/janus_wel/20110503/1304450271

各 command の先頭に # がある行は root 、 > がある行はそれ以外の user で打つ。

  1. > cd
  2. > mkdir src
    • ない場合のみ作成。
  3. > cd src/
  4. > wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.bz2
  5. > tar xjvf ruby-1.9.2-p180.tar.bz2
  6. > cd ruby-1.9.2-p180/
  7. > ./configure
  8. > make
    • 非力な machine だとかなり時間がかかる。さくら VPStime make で測ってみたら "real 25m19.254s", "user 21m40.649s" とか出てきた。なんか code とか doc とかの生成に時間かかってるみたい。仕掛けたら他のことやるのがいいね。
  9. # checkinstall
  10. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-1.9.2-p180-1.x86_64.rpm

これで ruby -v で version が出てくれば OK 。本体終了。

次、 Ruby はいろいろと拡張があるらしく、 Rails で必要になるものをあらかじめ install しておく。まず zlib 。

  1. # yum install zlib-devel
  2. > cd ~/src/ruby-1.9.2-p180/ext/zlib/
  3. > ruby extconf.rb --with-zlib-include=/usr/include -with-zlib-lib=/usr/lib
  4. > make
  5. # checkinstall
    • Summary に "zlib extension for ruby 1.9.2 p180" 、 Name に "ruby-ext-zlib" 、 Version に "1.9.2" を指定してみた。
    • Summary に "zlib extension for Ruby 1.9.2 p180" 、 Name に "ruby-1.9.2-ext-zlib" 、 Version に "p180" 、 Requires に "ruby-1.9.2" を指定してみた。
  6. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-ext-zlib-1.9.2-1.x86_64.rpm
  7. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-1.9.2-ext-zlib-p180-1.x86_64.rpm

最後、 openssl 。

  1. # yum install openssl-devel
  2. > cd ~/src/ruby-1.9.2-p180/ext/openssl/
  3. > ruby extconf.rb
  4. > make
  5. # checkinstall
    • こっちは Summary に "openssl extension for ruby 1.9.2 p180" 、 Name に "ruby-ext-openssl" 、 Version に "1.9.2" を指定。
    • こっちは Summary に "openssl extension for Ruby 1.9.2 p180" 、 Name に "ruby-1.9.2-ext-zlib" 、 Version に "p180" 、 Requires に "ruby-1.9.2" を指定。
  6. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-ext-openssl-1.9.2-1.x86_64.rpm
  7. # rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-1.9.2-ext-openssl-p180-1.x86_64.rpm