ruby 2.2.3 上的 rvm-capistrano 错误
rvm-capistrano errors on ruby 2.2.3
我正在尝试使用 ruby 2.2.3、capistrano 和 rvm-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),因此崩溃。但它不需要,因为我正在使用 ruby-2.2.3.
我做了一些挖掘,发现有一个 ENV 变量,GEM_HOME
,它控制着 rvm-capistrano 所依赖的 ruby 版本。我的 ruby 版本使用 rvm 设置,看起来不错:
$ echo $GEM_HOME
/home/rof/.rvm/gems/ruby-2.2.3
看起来 bundler
中有一些代码更改了 GEM_HOME,但感觉有点像野鹅更改。想知道这是一个已知问题还是其他人遇到过的问题。
我的 config/deploy.rb 有:
set :rvm_ruby_string, :local # use the same ruby as used locally for deployment
require "rvm/capistrano"
不是真正的答案,但我同时通过在 capistrano 部署脚本中明确说明我的 ruby 版本而不是依赖 :local
来解决这个问题
我正在尝试使用 ruby 2.2.3、capistrano 和 rvm-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),因此崩溃。但它不需要,因为我正在使用 ruby-2.2.3.
我做了一些挖掘,发现有一个 ENV 变量,GEM_HOME
,它控制着 rvm-capistrano 所依赖的 ruby 版本。我的 ruby 版本使用 rvm 设置,看起来不错:
$ echo $GEM_HOME
/home/rof/.rvm/gems/ruby-2.2.3
看起来 bundler
中有一些代码更改了 GEM_HOME,但感觉有点像野鹅更改。想知道这是一个已知问题还是其他人遇到过的问题。
我的 config/deploy.rb 有:
set :rvm_ruby_string, :local # use the same ruby as used locally for deployment
require "rvm/capistrano"
不是真正的答案,但我同时通过在 capistrano 部署脚本中明确说明我的 ruby 版本而不是依赖 :local