i seem to have a discrepancy between production's gem path when I installed manually versus by bundler+capistrano.
After rvm installing ruby 1.9.2 and creating a gemset "myapp", i did install bundler via gem install bundler.
It was installed into the path:
/usr/local/rvm/gems/ruby-1.9.2-p290@myapp/gems
Bundler via Capistrano installed the remaining gems into:
/usr/local/rvm/gems/ruby-1.9.2-p290@myapp/ruby/1.9.1/gems
Beginning of my deploy.rb file is:
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require 'rvm/capistrano'
require 'bundler/capistrano'
set :rails_env, 'production'
set :rvm_type, :system
set :rvm_ruby_string, "ruby-1.9.2-p290@myapp"
set :rvm_path, "/usr/local/rvm"
set :rvm_bin_path, "#{rvm_path}/bin"
set :rvm_lib_path, "#{rvm_path}/lib"
set :default_environment, {
'PATH' => "#{rvm_path}/gems/ruby/1.9.1/bin:#{rvm_bin_path}/bin:$PATH",
'RUBY_VERSION' => '1.9.2',
'GEM_HOME' => "#{rvm_path}/gems/#{rvm_ruby_string}",
'GEM_PATH' => "#{rvm_path}/gems/#{rvm_ruby_string}",
'BUNDLE_PATH' => "#{rvm_path}/gems/#{rvm_ruby_string}"
}
set :bundle_dir, "#{rvm_path}/gems/#{rvm_ruby_string}"
set :bundle_flags, "--deployment --verbose"
Annoyingly, bundler folks have no intention on working well with RVM and want bundler to manage ruby versions so the workaround so far for me is to simply symbollically link for ruby and 1.9.1 in my GEM_PATH directory pointing to "."
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With