manager - ¿Cómo configuro capistrano para usar mi versión rvm de Ruby?
rvm install ruby (4)
¿Alguien sabe cómo puedo decirle a capistrano que use mi versión rvm predeterminada de ruby para en el servidor al que estoy presionando? Insiste en usar la versión del sistema.
¿Es posible?
La joya rvm-capistrano
es la mejor manera de ir.
Enlace al uso detallado oficial de esa gema . De eso supongo que obtendrá la versión local de Ruby:
set :rvm_ruby_string, ENV[''GEM_HOME''].gsub(/.*///,"") # Read from local system
Si su versión rvm es reciente en máquinas de desarrollo y producción, agregue esto a su 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
Tienes dos opciones:
- Habilite las variables de entorno .ssh utilizando la opción
PermitUserEnvironment
en su archivo de configuración ssh - Utilice la configuración capistrano
:default_environment
Para la segunda opción, simplemente agregue la siguiente línea en su archivo 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''
}
Para obtener las ubicaciones precisas, eche un vistazo a cat ~/.rvm/default
Ver http://rvm.io/integration/capistrano/ . "La integración a través del plugin rvm capistrano" parece un ganador.