RVM, Capistrano and bundler path issues

自作多情 提交于 2019-12-04 09:32:23

问题


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"

回答1:


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 "."




回答2:


After you created your gemset, did you explicitly "rvm use 1.9.2@myapp" before installing bundler?




回答3:


I've encountered similar problems with capistrano/bundler/rvm setups.

At least in my case, if I run

bundle exec <command>

from the capistrano created installation:

/u/apps/<app-name>/current

I pick up my GEMDIR

bundle exec env | grep GEM_HOME
GEM_HOME=/u/apps/app-name/shared/bundle/ruby/1.9.1


来源:https://stackoverflow.com/questions/7313232/rvm-capistrano-and-bundler-path-issues

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!