How do I configure capistrano to use my rvm version of Ruby How do I configure capistrano to use my rvm version of Ruby ruby ruby

How do I configure capistrano to use my rvm version of Ruby


You have two options:

  1. Enable .ssh environment variables using the PermitUserEnvironment option in your ssh configuration file
  2. Use the capistrano :default_environment setting

For the second option, simply add the following line in your deploy.rb file

set :default_environment, {   'PATH' => "/path/to/.rvm/ree-1.8.7-2009.10/bin:/path/to/.rvm/gems/ree/1.8.7/bin:/path/to/.rvm/bin:$PATH",  'RUBY_VERSION' => 'ruby 1.8.7',  'GEM_HOME' => '/path/to/.rvm/gems/ree/1.8.7',  'GEM_PATH' => '/path/to/.rvm/gems/ree/1.8.7' }

To get the accurate locations have a look at cat ~/.rvm/default


If your rvm version is recent on both development and production machines add this to your deploy.rb:

set :rvm_ruby_string, '1.9.2@yourapp' # you probably have this alreadyset :rvm_type, :user # this is the money config, it defaults to :system


The rvm-capistrano gem is the best way to go.

Link to the official detailed usage of that gem. From that I am guessing this will get the local version of Ruby:

set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system