Browse files

Work around a gem dependency edge case that prevents Rails from booti…


If you have a frozen gem with unfrozen dependencies (for instance if the
dependency has native extensions so can't be frozen) you can have a
nightmare upgrade problem, where you cannot rake gems:install, because
rake is broken by a gem loading problem.

If you bump up your frozen gem to a newer version that requires a newer
dependency, everybody else on the team will have rake broken by that
dependency mismatch, since you will have had to specify the dependency
in your config.gems, otherwise nobody will have installed it, since the
parent is frozen. And now the config.gems loading code will kill rake.

[#2609 state:committed]

Signed-off-by: Jeremy Kemper <>
  • Loading branch information...
knzconnor authored and jeremy committed May 21, 2009
1 parent b600bf2 commit 84a755b27e615da4a51b6e4c042491b6d807bcf8
Showing with 1 addition and 1 deletion.
  1. +1 −1 railties/lib/initializer.rb
@@ -303,7 +303,7 @@ def add_gem_load_paths
def load_gems
- unless $gems_build_rake_task
+ unless $gems_rake_task
@configuration.gems.each { |gem| gem.load }

0 comments on commit 84a755b

Please sign in to comment.