有谁知道我怎么知道 卡皮斯特拉诺 使用我的默认值 右室 我正在推送的服务器上的 ruby​​ 版本。它坚持使用系统版本。

有可能吗?

有帮助吗?

解决方案

rvm-capistrano宝石是去的最佳方式。

链接至宝石的官方详细用途。从我猜这将让红宝石的本地版本:

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

其他提示

您有两个选择:

  1. 使用以下命令启用 .ssh 环境变量 PermitUserEnvironment ssh 配置文件中的选项
  2. 使用卡皮斯特拉诺 :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