Wie konfiguriere ich Capistrano für meine RVM -Version von Ruby
-
22-09-2019 - |
Frage
Weiß jemand, wie ich es sagen kann? Capistrano meinen Standard verwenden RVM Version von Ruby für auf dem Server, auf den ich drücke. Es besteht darauf, die Systemversion zu verwenden.
Ist es überhaupt möglich?
Lösung
Das rvm-capistrano
Juwel ist der beste Weg zu gehen.
Link zur offiziellen detaillierten Verwendung dieses Juwel. Ich vermute, dies wird die lokale Version von Ruby bekommen:
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
Andere Tipps
Sie haben zwei Optionen:
- Aktivieren Sie die Variablen.
PermitUserEnvironment
Option in Ihrer SSH -Konfigurationsdatei - Verwenden Sie den Capistrano
:default_environment
Einstellung
Fügen Sie für die zweite Option einfach die folgende Zeile in Ihre Datei bereit.rb.RB hinzu
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'
}
Um die genauen Orte zu erhalten, sehen Sie sich einen Blick auf cat ~/.rvm/default
Wenn Ihre RVM -Version sowohl auf Entwicklungs- als auch auf Produktionsmaschinen kürzlich zu Ihrem bereitgestellt wird. 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
Sehen http://rvm.io/integration/capistrano/. "Integration über das RVM Capistrano Plugin" sieht aus wie ein Gewinner.