Как настроить Capistrano, чтобы использовать мою версию RVM Ruby
-
22-09-2019 - |
Вопрос
Кто -нибудь знает, как я могу сказать Капистрано Чтобы использовать мой дефолт RVM Версия Ruby для на сервере, к которой я настаиваю. Он настаивает на использовании версии системы.
Это вообще возможно?
Решение
А rvm-capistrano
жемчужина лучший путь.
Ссылка на официальное подробное использование этого драгоценного камня. Анкет Из этого я предполагаю, что это получит местную версию Ruby:
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
Другие советы
У вас есть два варианта:
- Включить переменные среды .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
Если ваша версия RVM недавно как на разработке, так и на производственных машинах, добавьте это в ваш deploy.rb:
set :rvm_ruby_string, '1.9.2@yourapp' # you probably have this already
set :rvm_type, :user # this is the money config, it defaults to :system
Видеть http://rvm.io/integration/capistrano/Анкет «Интеграция через плагин RVM Capistrano» выглядит как победитель.
А также http://rvm.io/deployment/