我的rails app(myapp)有一个包含
的.rvmrc# cat .rvmrc
rvm --create use ruby-1.9.3-p0@myapp
当我在生产中使用capistrano部署我的应用程序时(工作正常)......
#cat deploy.rb
require 'bundler/capistrano'
require 'rvm/capistrano'
...
#cap deploy
我注意到bundle install --deployment将gems安装在 shared / bundle 目录中,这很好。
* executing "cd /usr/local/mycompany/myapp/releases/20130523003402 &&
bundle install --gemfile /usr/local/mycompany/myapp/releases/20130523003402/Gemfile
--path /usr/local/mycompany/myapp/shared/bundle
--deployment
--quiet
--without development test"
我只是好奇为什么捆绑使用的ruby版本是1.9.1。它不应该按照我的.rvmrc中指定的方式获取1.9.3吗?
/usr/local/mycompany/myapp/shared/bundle/ruby/1.9.1
答案 0 :(得分:3)
1.9.1
是ruby兼容级别,所有1.9..*
红宝石都应该是兼容的,所以从理论上讲,在ruby 1.9.2
中使用来自ruby 1.9.3
的宝石应该是安全的。练习有更多的因素,然后只是ruby版本 - 但要小心你可以在ruby版本之间共享宝石。