method

gem

gem(name, options = {})
public

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

Vidmantas · Aug 25, 20086 thanks

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

slippyd · Dec 18, 20094 thanks

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

matthooks · Dec 1, 20081 thank

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.