Как настроить Capistrano, чтобы использовать мою версию RVM Ruby

StackOverflow https://stackoverflow.com/questions/1978797

  •  22-09-2019
  •  | 
  •  

Вопрос

Кто -нибудь знает, как я могу сказать Капистрано Чтобы использовать мой дефолт RVM Версия Ruby для на сервере, к которой я настаиваю. Он настаивает на использовании версии системы.

Это вообще возможно?

Это было полезно?

Решение

А rvm-capistrano жемчужина лучший путь.

Ссылка на официальное подробное использование этого драгоценного камня. Анкет Из этого я предполагаю, что это получит местную версию Ruby:

set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system

Другие советы

У вас есть два варианта:

  1. Включить переменные среды .ssh, используя PermitUserEnvironment опция в вашем файле конфигурации SSH
  2. Используйте 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/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top