我正在尝试使用ruby 2.2.3、capistrano和进行部署。
当我跑步时:
$ 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有问题的服务器没有安装ruby-2.2.0 (只有2.2.3),因此崩溃了。但它不需要,因为我使用的是红宝石2.2.3。
我做了一些调查,我发现有一个ENV变量,GEM_HOME,它控制着rvm所依赖的红宝石版本。通过使用rvm设置我的ruby版本,看起来很好:
$ echo $GEM_HOME
/home/rof/.rvm/gems/ruby-2.2.3看起来,bundler内部有一些代码可以改变GEM_HOME,但感觉起来有点像天鹅绒一样。不知道这是一个已知的问题还是其他人遇到的问题。
我的config/ployy.rb有:
set :rvm_ruby_string, :local # use the same ruby as used locally for deployment
require "rvm/capistrano"发布于 2015-11-19 07:45:56
这不是一个真正的答案,但我已经解决了这个问题,我只是在capistrano部署脚本中显式地声明了我的ruby版本,而不是依赖于:local。
https://stackoverflow.com/questions/32898663
复制相似问题