rake rails:freeze:gems で uninitialized constant Gem::GemRunner

2007-12-20 追記

2.0.2 で修正された



RubyGems 0.9.5 になってから rake rails:freeze:gems がこける。検索してもあまり情報がないのは環境によるからなんだろうか。

探しまわったところ railties/lib/tasks/framework.rake にこんな修正を入れろというのをいくつか見つけた。

--- railties/lib/tasks/framework.rake.orig      2007-12-08 03:03:17.774232626 +0900
+++ railties/lib/tasks/framework.rake   2007-12-08 03:03:38.365220128 +0900
@@ -4,6 +4,7 @@
     task :gems do
       deps = %w(actionpack activerecord actionmailer activesupport activeresource)
       require 'rubygems'
+      require 'rubygems/gem_runner'
       Gem.manage_gems
 
       rails = (version = ENV['VERSION']) ?

確かに動くんだけど Rails のソースに直接手を入れるのは嫌すぎるのでとりあえずこれで回避中。

$ ruby -rrubygems/gem_runner `which rake` rails:freeze:gems