Skip to content
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...
1 parent ccf70b9 commit 6a3f8ae4075042f122d493208f18ecfb797b38ae @knzconnor knzconnor committed with jeremy May 21, 2009
Showing with 1 addition and 1 deletion.
  1. +1 −1 railties/lib/initializer.rb
2 railties/lib/initializer.rb
@@ -304,7 +304,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 6a3f8ae

Please sign in to comment.
Something went wrong with that request. Please try again.