Rails 3,ruby 1.8.7用sqlite3-ruby 1.2.5,ruby 1.9.2用sqlite3 1.3.8轻松切换Gemfile?

时间:2013-09-26 10:36:57

标签: ruby ruby-on-rails-3 sqlite rvm

我的主机(site5)目前只提供ruby 1.8.7,但他们很快就会改变这种情况。所以我正在为ruby 1.9.2和2.0准备我的rails应用程序。出于测试目的,我需要在不同的ruby版本之间切换(我正在使用rvm和gemsets)。

在ruby 1.8.7中我需要有gem sqlite3-ruby -v 1.2.5但是 在ruby 1.9.2我需要gem sqlite3 -v 1.3.8(因为多字节字符问题) 我不能使用更高版本的sqlite3-ruby和ruby 1.8.7,因为它在生产中不起作用(目前)

是否有一种简单的方法可以在两组不同的Gemfiles / Gemfile.lock文件之间进行切换?或者使Gemfile / Gemfile.lock以正在使用的ruby版本为条件?

1 个答案:

答案 0 :(得分:0)

您可以为宝石http://bundler.io/v1.3/man/gemfile.5.html

设置平台
gem "sqlite3-ruby", :version => "1.2.5", :platforms => :mri_18
gem "sqlite3-ruby", :version => "1.3.8", :platforms => [:mri_19, :mri_20]