在gemfile中声明倍数(相同的功能,不同的gem)。为什么?

时间:2011-10-25 20:55:21

标签: ruby-on-rails rubygems rspec cucumber haml

我遇到过一些教程,其中作者在gemfile中声明了同一个gem的两个版本,即使在同一组中也是如此。

"haml" and "haml-rails"
"rspec" and "rspec-rails"
"cucumber" and "cucumber-rails"

还有更多的例子......

为什么这样做?这是一种更好的方式来处理这些宝石而不是声明一个宝石吗?

由于

2 个答案:

答案 0 :(得分:3)

嗯,这些宝石不一样。 Rails版本通常扩展标准库。

但是因为foo-rails在其依赖项中有foosee example here),所以你的Gemfile中只需要foo-rails(Bundler非常棒)。

答案 1 :(得分:0)

cucumber-rails与黄瓜不是一样的宝石。它将Cucumber作为依赖项,以及一些特定于Rails的东西。因为apneadiving说,如果你在Gemfile中包含了cucumber-rails,它也应该加载Cucumber。