RVM,Capistrano和Bundler Path问题[英] RVM, Capistrano and bundler path issues

本文是小编为大家收集整理的关于RVM,Capistrano和Bundler Path问题的处理方法,想解了RVM,Capistrano和Bundler Path问题的问题怎么解决?RVM,Capistrano和Bundler Path问题问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

当我手动安装Bundler+Capistrano时,我似乎在生产的宝石路径之间存在差异.

RVM安装Ruby 1.9.2并创建GEMSET" MyApp"后,我确实通过GEM安装Bundler安装了Bundler.

它已安装到路径上:

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

Bundler通过Capistrano将其余的宝石安装到:

/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合作,希望Bundler管理Ruby版本,因此迄今为止对我的解决方法就是简单地链接Ruby的Ruby和1.9.1,在我的Gem_path目录中指向"指向"的1.9.1" ."

其他推荐答案

创建宝石后,安装bundler之前是否明确使用" rvm" 1.9.2@myapp?

其他推荐答案

我遇到了Capistrano/Bundler/RVM设置的类似问题.

至少在我的情况下,如果我运行

bundle exec <command>

来自Capistrano创建的安装:

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

我拿起我的gemdir

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

本文地址:https://www.itbaoku.cn/post/786461.html