2015-10-02 73 views
0

我正在尝试使用ruby 2.2.3,capistrano和rvm-capistrano进行部署。红宝石上的rvm-capistrano错误2.2.3

当我运行:

$ rvm use 2.2.3 

然后:

$ cap deploy 

部署失败,我得到这个消息:

failed: "rvm_path=$HOME/.rvm $HOME/.rvm/bin/rvm-shell '2.2.0' -c 'git clone -q -b develop --depth 1 <rest of the git clone command>'" on xxx.xxx.xxx.xxx 

有问题的服务器没有红宝石-2.2.0安装(只有2.2.3),因此崩溃。但它不应该需要,因为我正在使用ruby-2.2.3。

我做了一些挖掘,我发现有一个ENV变量,GEM_HOME,控制哪些ruby版本rvm-capistrano依赖。使用RVM设置我的红宝石版本,它似乎很动听:

$ echo $GEM_HOME 
/home/rof/.rvm/gems/ruby-2.2.3 

它看起来像里面有bundler一些代码,改变GEM_HOME但感觉有点雁变化。想知道这是一个已知问题还是其他人遇到的问题。

我的配置/ deploy.rb有:

set :rvm_ruby_string, :local # use the same ruby as used locally for deployment 
require "rvm/capistrano" 
+0

不是一个真正的答案,但我已经解决了这个问题,只是在capistrano部署脚本中明确声明我的ruby版本,而不是依靠':local'。 –

回答

0

不是一个真正的答案,但我已经只是明确说明我的红宝石版本中Capistrano的部署脚本,而不是依赖于其间固定这件事:local