Как настроить capistrano для использования моей версии rvm Ruby
Кто-нибудь знает, как я могу сказать capistrano использовать мой default rvm версия ruby для сервера, на который я нажимаю. Он настаивает на использовании версии системы.
Возможно ли это?
Ответы
Ответ 1
rvm-capistrano
gem - лучший способ пойти.
Ссылка на официальное подробное использование этого драгоценного камня. Из этого я предполагаю, что это получит локальную версию Ruby:
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
Ответ 2
У вас есть два варианта:
- Включить переменные среды .ssh с помощью параметра
PermitUserEnvironment
в вашем файле конфигурации ssh
- Используйте настройку capistrano
:default_environment
Для второго варианта просто добавьте следующую строку в файл deploy.rb
set :default_environment, {
'PATH' => "/path/to/.rvm/ree-1.8.7-2009.10/bin:/path/to/.rvm/gems/ree/1.8.7/bin:/path/to/.rvm/bin:$PATH",
'RUBY_VERSION' => 'ruby 1.8.7',
'GEM_HOME' => '/path/to/.rvm/gems/ree/1.8.7',
'GEM_PATH' => '/path/to/.rvm/gems/ree/1.8.7'
}
Чтобы получить точные местоположения, просмотрите cat ~/.rvm/default
Ответ 3
Если ваша версия rvm является последней на обеих машинах разработки и производства, добавьте это в свой deploy.rb:
set :rvm_ruby_string, '[email protected]' # you probably have this already
set :rvm_type, :user # this is the money config, it defaults to :system
Ответ 4
См. http://rvm.io/integration/capistrano/.
"Интеграция через плагин rvm capistrano" выглядит как победитель.
И http://rvm.io/deployment/