Hi,
What is the correct way to get multiple rails installs to cooperate with each other?
I've got nine projects that I built on my (windows) workstation and deployed to a linux server. The linux server is running ruby 1.8.4 and rails 1.1.6. Another project came along and it was built on a different workstation, by a different developer, and I helped out after the fact. It's on rails 1.2.3, which is frozen in the vendor subdirectory for that particular project.
In order to get things working on my local workstation, I had to update all of the gems, and I believe ruby. gem list on my local machine shows rails at 1.2.3 and 1.1.6. ruby -v shows 1.8.6.
However, since that update, I can't start the local server on any of the older projects, which is hurting my ability to get anything done in those projects.
script/server on my workstation returns: ruby script/server ./script/../config/boot.rb:28:Warning: require_gem is obsolete. Use gem instead.
The server starts, but will not process requests without throwing an "application error"
The development log shows the following:
$ tail -f development.log c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:67:in `dispatch ' c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/servers/webrick. rb:59 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_re quire' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/de pendenci es.rb:147:in `require' c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/server.rb:30 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_re quire' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/de pendenci es.rb:147:in `require' script/server:3 wrong number of arguments (1 for 0) c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/ven dor/mysq l.rb:551:in `initialize' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/ven dor/mysq l.rb:551:in `new' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/ven dor/mysq l.rb:551:in `scramble41' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/ven dor/mysq l.rb:141:in `real_connect' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/con nection_ adapters/mysql_adapter.rb:330:in `connect' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/con nection_ adapters/mysql_adapter.rb:87:in `initialize' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/con nection_ adapters/mysql_adapter.rb:36:in `new' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/con nection_ adapters/mysql_adapter.rb:36:in `mysql_connection' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/con nection_ adapters/abstract/connection_specification.rb:251:in `send' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/con nection_ adapters/abstract/connection_specification.rb:251:in `connection_without_query_c ache=' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/que ry_cache .rb:54:in `connection=' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/con nection_ adapters/abstract/connection_specification.rb:220:in `retrieve_connection' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/con nection_ adapters/abstract/connection_specification.rb:78:in `connection' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/bas e.rb:696 :in `columns' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/bas e.rb:704 :in `columns_hash' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/s ession/a ctive_record_store.rb:103:in `setup_sessid_compatibility!' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/s ession/a ctive_record_store.rb:77:in `find_by_session_id' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/s ession/a ctive_record_store.rb:281:in `initialize' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/bas e.rb:794 :in `silence' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/s ession/a ctive_record_store.rb:281:in `initialize' c:/ruby/lib/ruby/1.8/cgi/session.rb:273:in `new' c:/ruby/lib/ruby/1.8/cgi/session.rb:273:in `initialize' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/c gi_proce ss.rb:112:in `new' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/c gi_proce ss.rb:112:in `session' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/c gi_proce ss.rb:142:in `stale_session_check!' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/c gi_proce ss.rb:108:in `session' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/b ase.rb:9 18:in `assign_shortcuts_without_flash' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/f lash.rb: 141:in `assign_shortcuts' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/b ase.rb:4 02:in `process_without_filters' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/f ilters.r b:377:in `process_without_session_management_support' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/s ession_m anagement.rb:117:in `process' c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:115:in `handle_ dispatch' c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:81:in `service'
c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' c:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' c:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start' c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:67:in `dispatch ' c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/servers/webrick. rb:59 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_re quire' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/de pendenci es.rb:147:in `require' c:/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/server.rb:30 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_re quire' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/de pendenci es.rb:147:in `require' script/server:3
So, for the short term, how can I get get webrick to run both the old projects and new projects, on my local workstation, as needed, keeping in mind that the production server runs ruby 1.8.4 and rails 1.1.6? Second, is there a 'correct' way to upgrade a rails app from an older release? For example, I see that the boot.rb files from the older and newer projects have some differences.
Thank you.
Regards,
Rich