部署 Mina 部署的 Ruby 默认版本为何被锁定在 2.2.0?

nine · 2015年11月04日 · 最后由 jjfujj 回复于 2016年04月21日 · 1883 次阅读

虚拟机是一个干净的CentOS 7 rvm干净安装了 2.2.3

使用mina部署时,提示我重新安装已安装过的gem

进入shared/bundle/ruby 目录下 赫然停放着一个2.2.0的目录

在current 目录下运行 rails c 也是 2.2.0

可是

find / -name ruby 

什么也没有

这是什么情况?

共收到 9 条回复

#1楼 @huobazi 谢谢 但是没看明白

require 'mina/rvm'
set :rvm_path, '/usr/local/rvm/scripts/rvm'
task :environment do
  invoke :'rvm:use[ruby-2.2.3@default]'
end

都已经做了

运行 mina deploy也提示

-----> Using RVM environment 'ruby-2.2.3@default'
       Using /usr/local/rvm/gems/ruby-2.2.3

但是依然是2.2.0

能否详细解释一下原因?

【在current 目录下运行 rails c 也是 2.2.0】 你 看看你当前用户的 rvm 当前默认设置

#3楼 @huobazi 只安装了一个版本的ruby 2.2.3

但是在current 目录下 rails c 就是2.2.0 我很奇怪,因为系统根本就没有这个版本的ruby

之前在另一台机器上做的,就是这个问题,这回单开了一台机器,还是2.2.0

好奇这个ruby是从哪儿来的

不同用户了

#5楼 @huobazi 应该没有 新开的虚拟机,都是用root 操作的

Ruby 2.2.x 的 gem 安装目录都是 2.2.0。

#7楼 @rei 这样啊?

但是运行 rails c 提示我ruby 版本是2.2.0 这个是怎么回事呢? 不应该是根据gem目录名啊

应该在 deploy.rb里面做了声明了。

mina的bundle包和系统是分离的。设计者可能是为了保证在多个工程存在于一个系统里面的情况下,特别是使用了不同的一些gem版本的时候,不至于冲突。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册