Comment configurer Capistrano utiliser ma version RVM de Ruby
-
22-09-2019 - |
Question
Quelqu'un sait-il comment je peux dire Capistrano pour utiliser mon défaut la version de RVM de rubis pour le serveur je poussais à. Il insiste sur l'utilisation de la version du système.
Est-il possible?
La solution
Le rvm-capistrano
joyau est la meilleure façon d'aller.
Lien vers l'utilisation officielle détaillée de cette gemme. A partir de ce que je suis devine que ce sera obtenir la version locale de Ruby:
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
Autres conseils
Vous avez deux options:
- Activer .ssh variables d'environnement à l'aide de l'option
PermitUserEnvironment
dans votre fichier de configuration ssh - Utilisez le réglage Capistrano de
:default_environment
Pour la deuxième option, il suffit d'ajouter la ligne suivante dans votre fichier 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'
}
Pour obtenir les emplacements précis ont un regard sur cat ~/.rvm/default
Si votre version RVM est récente sur les deux machines de développement et de production ajouter à votre 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
Voir http://rvm.io/integration/capistrano/ . "L'intégration via le plug-in Capistrano de RVM" ressemble à un gagnant.