pirosikick's diary

君のハートにunshift

ruby1.9.2のインストール 再挑戦(CentOS5.5)

CentOS5.5にRuby1.9とRails3を入れる:お題目うぉっち
rpmで問題なくインストール出来てgemも動いているという人がいるので、参考にして再トライ。

ソースを落としてコンパイル

ここは前回と一緒です

$ cd /usr/lcoal/src
$ sudo wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
$ sudo tar xvzf ruby-1.9.2-p0.tar.gz
$ cd ruby-1.9.2-p0
$ sudo ./configure
$ sudo make

ここは何事も無く完了しました。

RPMパッケージの作成

$ sudo /usr/local/sbin/checkinstall --fstrans=no

だいたいの質問はそのままEnterを押しますが、↓の質問は「R」と答えます。

Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]? R

ここで問題発生。↓のメッセージから先に進まなくなります。

You probably don't want them to be included in the package,
especially if they are inside your home directory.
Do you want me to list them?  [n]: 
それらをパッケージから除外しますか?(yesと答えることをおすすめします) [y]: 

tempディレクトリにファイルをコピー..

もう1度checkinstallからやり直し、最後の質問を「n」と答えてみます。

You probably don't want them to be included in the package,
especially if they are inside your home directory.
Do you want me to list them?  [n]: 
それらをパッケージから除外しますか?(yesと答えることをおすすめします) [y]: n

tempディレクトリにファイルをコピー..OK

よし、通った!んで最後に、

**********************************************************************

 Done. The new package has been saved to

 /usr/src/redhat/RPMS/x86_64/ruby-1.9.2-p0-1.x86_64.rpm
 You can install it in your system anytime using: 

      rpm -i ruby-1.9.2-p0-1.x86_64.rpm

**********************************************************************

と表示されたのでOK!

インストール

RPMパッケージをインストールします。rpmのパスはcheckinstallで最後に出力されてます。

$ sudo rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-1.9.2-p0-1.x86_64.rpm 
エラー: 依存性の欠如:
        /usr/local/bin/ruby は ruby-1.9.2-p0-1.x86_64 に必要とされています

こちらに同じエラーが載っていたので、オプションを追加して再実行。

$ sudo rpm -ivh --nodeps --nomd5 /usr/src/redhat/RPMS/x86_64/ruby-1.9.2-p0-1.x86_64.rpm
準備中...                ########################################### [100%]
   1:ruby-1.9.2             ########################################### [100%]

成功。インストールされたかの確認。

$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]

インストール完了です。

RubyGemsの動作確認

rubyを1.9.2にあげたらgemでエラーが出るようになった。 - 俺の作業ログ
↑こちらではgemがうまく動かず困ったわけですが、gemを実行してみると、

$ gem -v
1.3.7

おおお!正常に動いてるー!!!よかったー!!!!!

まとめ

CentOS5.5にRuby1.9.2をインストールするには「make install」 ではなく「checkinstall」を使ってRPMでインストールすべし!

そもそもRPMってなんなんでしょうね。勉強せねがる!