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