Проблемы RVM, Capistrano и пути компоновщика - PullRequest
8 голосов
/ 06 сентября 2011

У меня, кажется, есть несоответствие между производственным путём, когда я устанавливал вручную, по сравнению с bundler + capistrano.

После установки rvm ruby ​​1.9.2 и создания gemset «myapp» я установил сборщик через установщик gem.

Установлено в путь:

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

Ответы [ 3 ]

1 голос
/ 14 сентября 2011

Досадно, что сборщики не намерены хорошо работать с RVM и хотят, чтобы сборщик управлял версиями ruby, поэтому обходной путь для меня пока заключается в простой символической ссылке на ruby ​​и 1.9.1 в моем каталоге GEM_PATH, указывающем на "." *

0 голосов
/ 24 декабря 2012

Я сталкивался с подобными проблемами с настройками 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
0 голосов
/ 06 сентября 2011

После того, как вы создали свой gemset, вы явно указали "rvm use 1.9.2@myapp" перед установкой bundler?

...