thoughtbot/bourbon — Issue #69: Cannot install in a Rails 2.3 project
Author: malept
Created: 2012-03-02 18:00:44+00:00
State: open

When one adds the bourbon gem to a Rails 2.3 project (via bundler) and then tries to do anything like start the server or run rake, the following happens:

$ rake -T --trace
(in /home/malept/test)
rake aborted!
uninitialized constant Rails::Engine
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:466:in `load_missing_constant'
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:106:in `const_missing'
/home/malept/test/shared/bundle/ruby/1.8/gems/bourbon-1.4.0/lib/bourbon.rb:5
/usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:68:in `require'
/usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:68:in `require'
/usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:66:in `each'
/usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:66:in `require'
/usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:55:in `each'
/usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:55:in `require'
/usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.9/lib/bundler.rb:114:in `require'
/usr/home/malept/test/releases/20120301190810/config/boot.rb:119:in `load_gems'
/home/malept/test/shared/bundle/ruby/1.8/gems/rails-2.3.11/lib/initializer.rb:164:in `process'
/home/malept/test/shared/bundle/ruby/1.8/gems/rails-2.3.11/lib/initializer.rb:113:in `send'
/home/malept/test/shared/bundle/ruby/1.8/gems/rails-2.3.11/lib/initializer.rb:113:in `run'
/usr/home/malept/test/releases/20120301190810/lib/tasks/../../config/environment.rb:13
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:182:in `require'
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:182:in `require'
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:547:in `new_constants_in'
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:182:in `require'
/usr/home/malept/test/releases/20120301190810/lib/tasks/generate_test_sequencing.rake:1
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:171:in `load_without_new_constant_marking'
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:171:in `load'
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:547:in `new_constants_in'
/home/malept/test/shared/bundle/ruby/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:171:in `load'
/home/malept/test/shared/bundle/ruby/1.8/gems/rails-2.3.11/lib/tasks/rails.rb:14
/home/malept/test/shared/bundle/ruby/1.8/gems/rails-2.3.11/lib/tasks/rails.rb:14:in `each'
/home/malept/test/shared/bundle/ruby/1.8/gems/rails-2.3.11/lib/tasks/rails.rb:14
/usr/home/malept/test/releases/20120301190810/Rakefile:10:in `require'
/usr/home/malept/test/releases/20120301190810/Rakefile:10
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in `load'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2017:in `load_rakefile'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2000:in `run'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
/usr/local/bin/rake:19:in `load'
/usr/local/bin/rake:19

The problem seems to be that the `Rails` module exists, but `Rails::Engine` does not.