虚拟机是一个干净的 CentOS 7 rvm 干净安装了 2.2.3
使用 mina 部署时,提示我重新安装已安装过的 gem
进入 shared/bundle/ruby 目录下 赫然停放着一个 2.2.0 的目录
在 current 目录下运行 rails c 也是 2.2.0
可是
find / -name ruby
什么也没有
这是什么情况?
http://nadarei.co/mina/docs/lib/mina/rvm.html https://github.com/mina-deploy/mina/blob/master/lib/mina/rvm.rb
#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 版本的时候,不至于冲突。