RVM、Capistrano 和捆绑器路径问题

2023-12-27

当我手动安装与通过bundler+capistrano安装时,生产的gem路径之间似乎存在差异。

在rvm安装ruby 1.9.2并创建gemset“myapp”之后,我确实通过gem install bundler安装了bundler。

它被安装到路径中:

/usr/local/rvm/gems/ruby-1.9.2-p290@myapp/gems

Bundler 通过 Capistrano 将剩余的 gem 安装到:

/usr/local/rvm/gems/ruby-1.9.2-p290@myapp/ruby/1.9.1/gems

我的deploy.rb 文件的开头是:

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

令人烦恼的是,捆绑器人员无意与 RVM 良好配合,并希望捆绑器管理 ruby​​ 版本,因此到目前为止,我的解决方法是简单地在我的 GEM_PATH 目录中符号链接 ruby​​ 和 1.9.1,指向“.”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RVM、Capistrano 和捆绑器路径问题 的相关文章

随机推荐