gem
gem(name, options = {})Adds a single Gem dependency to the rails application. By default, it will require the library with the same name as the gem. Use :lib to specify a different name.
# gem 'aws-s3', '>= 0.4.0' # require 'aws/s3' config.gem 'aws-s3', :lib => 'aws/s3', :version => '>= 0.4.0', # :source => "http://code.whytheluckystiff.net"
To require a library be installed, but not attempt to load it, pass :lib => false
config.gem 'qrp', :version => '0.4.1', :lib => false
3Notes
Rake tasks for gem dependencies
You can manage installation and other tasks for these dependencies with rake tasks, for example:
rake gems:install # Installs all required gems for this application rake gems:unpack # Unpacks the specified gem into vendor/gems
To get all rake tasks about gems:
rake -T gems
Version Ranges
To specify a version range, use array syntax like this: config.gem 'paperclip', :version => ['>= 2.3.1.1', '< 3.0']
The example will, of course, match any version 2.3.1.1 or newer up until (not including) 3.0 or later.
Upgrading from Rails v2.1 to v2.2
Don't forget to run
rake gems:refresh_specs
if you vendored any gem plugins under Rails v2.1 to update them with the proper specs.