Gem依赖:首选nokogiri 1.5,但如果已安装则允许1.6

时间:2014-05-30 01:54:56

标签: gem dependencies bundler nokogiri gemfile

我的宝石取决于nokogiri~> 1.5.0。我希望保持这种依赖性,因为这个版本具有较少的编译时依赖性,并且通常安装没有问题。 nokogiri 1.6.x似乎有更多安装问题。所以虽然我想支持nokogiri 1.6,如果已经安装了,我不想让它成为默认依赖。

所以:喜欢nokogiri~> 1.5.0但如果它存在则使用1.6。

是否可以将其表示为我的Gemfile或gemspec中的依赖项?

1 个答案:

答案 0 :(得分:0)

您可以在gemspec中指定以逗号分隔的版本说明符列表。他们是和在一起的。

spec.add_runtime_dependency "nokogiri", ">= 1.5.0", "< 1.7"

这表示任何1.5.x或1.6.x版本都是兼容的。

Rubygems没有任何“首选”版本的概念。 Bundler和gem通常会尝试安装满足所有约束条件的最新版本。

有关详细信息,请参阅http://guides.rubygems.org/patterns/#declaring-dependencies