Upgrading 2.2 to 2.3: console broken, "uninitialized constant Module::ActiveSupport"

Upgrading a Rails app from 2.2 to 2.3.2 (via 2.3.0). Got things working in the browser, but script/console seems messed up in both 2.3.0 and 2.3.2:

$ script/console Loading development environment (Rails 2.3.2) /Library/Ruby/Gems/1.8/gems/rails-2.3.2/lib/initializer.rb:56:in `env':NameError: uninitialized constant Module::ActiveSupport /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/ testing/deprecation.rb:49:NoMethodError: undefined method `alias_method_chain' for Test::Unit::Error:Class /Library/Ruby/Gems/1.8/gems/rails-2.3.2/lib/console_with_helpers.rb: 5:NameError: uninitialized constant ApplicationController

Rails.version

=> "2.3.2"

ApplicationController

NameError: uninitialized constant ApplicationController

Any ideas?

Upgrading a Rails app from 2.2 to 2.3.2 (via 2.3.0). Got things working in the browser, but script/console seems messed up in both 2.3.0 and 2.3.2:

$ script/console Loading development environment (Rails 2.3.2) /Library/Ruby/Gems/1.8/gems/rails-2.3.2/lib/initializer.rb:56:in `env':NameError: uninitialized constant Module::ActiveSupport /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/ testing/deprecation.rb:49:NoMethodError: undefined method `alias_method_chain' for Test::Unit::Error:Class /Library/Ruby/Gems/1.8/gems/rails-2.3.2/lib/console_with_helpers.rb: 5:NameError: uninitialized constant ApplicationController>> Rails.version => "2.3.2" >> ApplicationController

NameError: uninitialized constant ApplicationController

Any ideas?

Poked around more. Turns out the culprit was using "10.years" inside environment (setting config.action_controller.session[:expire_after]).

I can reproduce the issue by generating a new app and adding 'puts 10.years' to environment.rb (e.g. after config.time_zone).

One fix is to not use it there. Another is to explicitly require 'active_support'. Tried with Rails 2.2.2 and saw similar issues; in upgrading to 2.3, :session_expires (which takes a Time) changed before.

Since I’m in the middle of upgrading a legacy ruby 2.2 rails app slowly to 2.3. Then I stumbled into the nearly same problem.

In Rails 2.2.x rails expect the ApplicationController file name to be app/controllers/application.rb But in Rails 2.3.x rails expect the ApplicationController filer to names app/controllers/application_controller.rb

This at least solved my problem with

NameError: uninitialized constant ApplicationController