根据
the manual,我似乎在努力应对捆绑器的标准功能
对于使用:platforms选项或平台块的某些平台,应该要求指定gem的能力
对于使用:platforms选项或平台块的某些平台,应该要求指定gem的能力
我想根据所使用的ruby版本指定不同版本的gem
source "http://rubygems.org" gem "trollop","~> 1.16.2" gem "chronic","~> 0.6.4" gem "highline","~> 1.6.2" gem "colorize","~> 0.5.8" gem "queryparams","~> 0.0.3" platforms :ruby_18 do gem "json" gem "activesupport","~>2.8.9" end platforms :ruby_19 do gem "activesupport","~>3.1.3" end
但是,在运行bundle install时失败
You cannot specify the same gem twice with different version requirements. You specified: activesupport (~> 2.8.9) and activesupport (~> 3.1.3)
解决方法
我很确定这是不可行的. gemfile不能具有使用不同版本指定的相同gem.不仅在不同的平台内,甚至不在不同的组中(group_ruby_18,group_ruby_19),然后通过尝试
bundle install –without group_ruby_18
bundle install –without group_ruby_18
所以这也会失败.
我之前遇到过这个问题,我找到的唯一解决办法是拥有2个不同的GEMFILES.