我的问题很简单,gem bundler 在根据 gem 文件决定采用哪个 gem 之前是否会考虑您的 ruby 环境(例如 1.8.7 | 1.9.2)?
假设您的 gemfile 包含
gem 'thor'
gem 'json'
gem 'grit'
当您运行时,bundle install
将采用与您当前的 ruby 环境兼容的 gem 版本还是只是最新的 gem?
我的问题很简单,gem bundler 在根据 gem 文件决定采用哪个 gem 之前是否会考虑您的 ruby 环境(例如 1.8.7 | 1.9.2)?
假设您的 gemfile 包含
gem 'thor'
gem 'json'
gem 'grit'
当您运行时,bundle install
将采用与您当前的 ruby 环境兼容的 gem 版本还是只是最新的 gem?
这取决于!Bundler 依赖于每个 Gem 提供的 Gemspecs 的配置。
Gemspecs 提供了基于运行时环境提供不同或附加依赖项的可能性。IE 您可以更改 JRuby 的依赖项或为 i386 架构提供不同的二进制文件。
据我所知,不可能将 gem 声明为 1.9 或 1.8 兼容(这对我来说很有意义)。我认为部分是这样,因为 1.9 是 99% 向下兼容的。
您总是被迫查看宝石本身。正因为如此,有像http://isitruby19.com/这样的网站
如您所见,这不是 Bundler 的问题,而是 RubyGems 的问题。