CentOS 5のRuby、はまり処

 CentOS5.2でyumを使ってrubyを入れると、ruby 1.8.5が入る。一応rails動くからいいかなぁ、などと思って使おうとすると、意外とはまったのでメモ。

なんではまるかというと、Rubyのパッケージが複数に分かれていて、yum install rubyとしただけだと、意図するものが入らない。

  • ruby
  • ruby-devel
  • ruby-irb
  • ruby-libs
  • ruby-rdoc
  • ruby-ri

普通にRubyを使おうと思ったら、上記全部入れておく必要がある。

でないと、こんなことになる。

例1:railsを入れたときにwarning
(rdocがないから)

[furukawa src]$ sudo gem install rails --remote
Bulk updating Gem source index for: http://gems.rubyforge.org
Successfully installed rake-0.8.1
Successfully installed activesupport-2.1.0
Successfully installed activerecord-2.1.0
Successfully installed actionpack-2.1.0
Successfully installed actionmailer-2.1.0
Successfully installed activeresource-2.1.0
Successfully installed rails-2.1.0
7 gems installed
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- rdoc/rdoc (LoadError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/doc_manager.rb:68:in `load_rdoc'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/doc_manager.rb:38:in `generate

例2:sqlite-rubyを入れたとき、ヘッダがないといわれる
(ヘッダファイルがないから)

[furukawa src]$ sudo gem install sqlite-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite-ruby:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb install sqlite-ruby
can't find header files for ruby.
:

例2:sqlite-rubyを入れたとき、irbがないといわれる
(irbがないから)

[furukawa src]$ sudo gem install sqlite-ruby
Building native extensions.  This could take a while...
Successfully installed sqlite-ruby-2.2.3
1 gem installed
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- irb/slex (LoadError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
:

Rubygem-develでも、「それはまずかったと思う」と指摘されています。
Maybe it should more gracefully fail. I was using CentOS at the 
time, and had installed ruby with 'yum install ruby'. It is an additional
install 'yum install irb' to get irb. :(
(Re: error when irb not installed: msg#00092)

 メンテナの方がパッケージを分けたのにはそれなりの理由があるのだと思いますし、
#サーバ上だと、Rubyで書いたプログラムさえ動けばいいからかなぁ?

とはいえ、Rubyはirbも含めてRubyだと思っている人にとって見ればびっくりする状況だと思うので、とりあえず情報提供としてブログに書いておきます。


(追記)
yum一発でなんでも入る状況が空気のように当然になっていて、逆に動かないときだけ非難されちゃうメンテナの方はとても大変だと思います。この記事も、別にメンテナの方を非難したいわけではなくて、当面困らないための情報提供として書かせていただいた次第。日本語で書いて通じるかどうか知りませんが、メンテナの方々にはとても感謝していることを、ここに明記しておきます。
カテゴリ:

トラックバック(0)

このブログ記事を参照しているブログ一覧: CentOS 5のRuby、はまり処

このブログ記事に対するトラックバックURL: http://mogya.com/mt/mt-tb.cgi/605

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、 もぎゃが 2008年7月 4日 23:17に書いたブログ記事です。

ひとつ前のブログ記事は「 ブログパーツの作り方まとめ 」です。

次のブログ記事は「 phpでapacheのログにログを出す方法 」です。

最近のコンテンツは インデックスページ で見られます。過去に書かれたものは アーカイブのページ で見られます。

Powered by
Movable Type