It is possible to lock your app to a specific set of library versions.
Go to config/environment.rb where you can tie Rails to specific versions like this:
require_gem 'activerecord', '= 1.6.0' require_gem 'actionpack', '= 1.4.0' require_gem 'actionmailer', '= 0.6.1' require_gem 'rails', '= 0.9.5'
This is the code that I have in my config/environment.rb. The only lines it replaces are the same that are found in the if conditional
use_latest = true if use_latest require 'active_support' require 'active_record' require 'action_controller' require 'action_mailer' require 'action_web_service' else require_gem 'activesupport', '<= 1.0.4' require_gem 'actionwebservice', '<= 0.7.1' require_gem 'activerecord', '<= 1.10.1' require_gem 'actionpack', '<= 1.8.1' require_gem 'actionmailer', '<= 0.9.1' require_gem 'rails', '<= 0.12.1' end
This code is the same as above but for 0.13.1
# Set use_latest=true for latest gem install # otherwise use 0.13.1 version of Rails use_latest = false if use_latest require 'active_support' require 'active_record' require 'action_controller' require 'action_mailer' require 'action_web_service' else require_gem 'activesupport', '= 1.1.1' require_gem 'actionwebservice', '= 0.8.1' require_gem 'activerecord', '= 1.11.1' require_gem 'actionpack', '= 1.9.1' require_gem 'actionmailer', '= 1.0.1' require_gem 'rails', '= 0.13.1' end
This code is the same as above but for 1.0.0
# Set use_latest=true for latest gem install # otherwise use 1.0.0 version of Rails # only need to include rails gem, rest are implied use_latest = false if use_latest require 'active_support' require 'active_record' require 'action_controller' require 'action_mailer' require 'action_web_service' else require_gem 'rails', '<= 1.0.0' end
| rails | 0.9.5 | 0.12.1 | 0.13.1 | 1.0.0 | 1.1.0 | 1.2.1 | 1.2.3 |
| activerecord | 1.6.0 | 1.10.1 | 1.11.1 | 1.13.2 | 1.14.0 | 1.15.1 | 1.15.3 |
| actionpack | 1.4.0 | 1.8.1 | 1.9.1 | 1.11.2 | 1.12.0 | 1.13.1 | 1.13.3 |
| actionmailer | 0.6.1 | 0.9.1 | 1.0.1 | 1.1.5 | 1.2.0 | 1.3.1 | 1.3.3 |
| activesupport | X | 1.0.4 | 1.1.1 | 1.2.5 | 1.3.0 | 1.4.0 | 1.4.2 |
| actionwebservice | X | 0.7.1 | 0.8.1 | 1.0.0 | 1.1.0 | 1.2.1 | 1.2.3 |
This very question is addressed in the gem manual with Rails being used for the example.
It is possible to lock your app to a specific set of library versions.
Go to config/environment.rb where you can tie Rails to specific versions like this:
require_gem 'activerecord', '= 1.6.0' require_gem 'actionpack', '= 1.4.0' require_gem 'actionmailer', '= 0.6.1' require_gem 'rails', '= 0.9.5'
This is the code that I have in my config/environment.rb. The only lines it replaces are the same that are found in the if conditional
use_latest = true if use_latest require 'active_support' require 'active_record' require 'action_controller' require 'action_mailer' require 'action_web_service' else require_gem 'activesupport', '<= 1.0.4' require_gem 'actionwebservice', '<= 0.7.1' require_gem 'activerecord', '<= 1.10.1' require_gem 'actionpack', '<= 1.8.1' require_gem 'actionmailer', '<= 0.9.1' require_gem 'rails', '<= 0.12.1' end
This code is the same as above but for 0.13.1
# Set use_latest=true for latest gem install # otherwise use 0.13.1 version of Rails use_latest = false if use_latest require 'active_support' require 'active_record' require 'action_controller' require 'action_mailer' require 'action_web_service' else require_gem 'activesupport', '= 1.1.1' require_gem 'actionwebservice', '= 0.8.1' require_gem 'activerecord', '= 1.11.1' require_gem 'actionpack', '= 1.9.1' require_gem 'actionmailer', '= 1.0.1' require_gem 'rails', '= 0.13.1' end
This code is the same as above but for 1.0.0
# Set use_latest=true for latest gem install # otherwise use 1.0.0 version of Rails # only need to include rails gem, rest are implied use_latest = false if use_latest require 'active_support' require 'active_record' require 'action_controller' require 'action_mailer' require 'action_web_service' else require_gem 'rails', '<= 1.0.0' end
| rails | 0.9.5 | 0.12.1 | 0.13.1 | 1.0.0 | 1.1.0 | 1.2.1 | 1.2.3 |
| activerecord | 1.6.0 | 1.10.1 | 1.11.1 | 1.13.2 | 1.14.0 | 1.15.1 | 1.15.3 |
| actionpack | 1.4.0 | 1.8.1 | 1.9.1 | 1.11.2 | 1.12.0 | 1.13.1 | 1.13.3 |
| actionmailer | 0.6.1 | 0.9.1 | 1.0.1 | 1.1.5 | 1.2.0 | 1.3.1 | 1.3.3 |
| activesupport | X | 1.0.4 | 1.1.1 | 1.2.5 | 1.3.0 | 1.4.0 | 1.4.2 |
| actionwebservice | X | 0.7.1 | 0.8.1 | 1.0.0 | 1.1.0 | 1.2.1 | 1.2.3 |
This very question is addressed in the gem manual with Rails being used for the example.