Rails 1.2.6 gem freeze fails with gem 0.9.5 system

Freezing to the gems for Rails 1.2.6 rake aborted! uninitialized constant Gem::GemRunner

tracing gives: no such file to load -- /Users/nathany/Sites/boat/oat/config/../vendor/ rails/railties/lib/initializer /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in `gem_original_require' ...

which seems like it may be trying to load the frozen gems before they are there?

It doesn't do a nice rollback on failure... leaving the empty vendor/ rails/ folder there, which of course causes a mess of things.

Anyone else experience this, or get it working with the same setup? I'm guessing it's more gem related than 1.2.6 related, but I haven't verified.

- nathan.

To confirm, I uninstalled Rails 1.2.6 and ran into the same problem with 1.2.5. So it is more than likely related to my recent update to the gem 0.9.5 system.

What seems to have happened is that gem_runner is no longer required automatically when you require rubygems. It appears to be an intentional change in rubygems, as a part of "slimming" it down for inclusion in 1.9


The trivial fix is to add a line to require the rubygems/gem_runner.rb in railties/lib/tasks/framework.rake

A quick check of the rubygems commit logs reveals that there could be a fix down the line (r1515 will apparently "faults in the full rubygems library if any Gem constant or method is called.") so it might not be worthwhile actually patching this.


Index: railties/lib/tasks/framework.rake