ruby – 使用bundler和不同的平台gem要求

根据 the manual,我似乎在努力应对捆绑器的标准功能
对于使用: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

所以这也会失败.

我之前遇到过这个问题,我找到的唯一解决办法是拥有2个不同的GEMFILES.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...