rubygems update の罠

centos 5.2のrubygemsをupdateしようと思ったらいろいろはまったので記録。

  gem update --system

rubygems自信をupdateできるという仕組みがあったのだが、最近はそれだけではうまくいかない事があるようだ(エラーが出て止まったり、gem -v しても古いままだったり)。そんな時は

 $ sudo gem install rubygems-update
 $ sudo update_rubygems 

とやると良い。のだが、update_rubygems を実行すると、hoe の 2.3.0以上が必要だと怒られた。で、hoe の 2.3.0 を gem で入れようとすると、gem の 1.3.1以上が必要だという。現状のgemは1.2.0 ...

で、バージョンを指定しないとrubygems-update のバージョンが1.3.5なのに気づいて、
 

 $ sudo gem uninstall rubygems-update #versionを聞かれるので適切に答える
 $ sudo gem install rubygems-update -v 1.3.1
 $ sudo update_rubygems 

と、まずは 1.3.1 にアップデートして解決。
atomutil を入れたかっただけなんだけどなあ。

追記

id:wakuteka さんからトラックバックが来てたのでちょっと追加

rubygems-update の1.3.1 は hoe以外にもいろいろ必要パッケージがありまして

  • builder
  • session

などにも依存しますのでこの辺を先にインストールする必要があります。
エラーメッセージの

Could not find RubyGem builder (>= 0) (Gem::LoadError)

が足らないパッケージとバージョンを示しています。