我遇到过一些教程,其中作者在gemfile中声明了同一个gem的两个版本,即使在同一组中也是如此。
"haml" and "haml-rails"
"rspec" and "rspec-rails"
"cucumber" and "cucumber-rails"
还有更多的例子......
为什么这样做?这是一种更好的方式来处理这些宝石而不是声明一个宝石吗?
由于
答案 0 :(得分:3)
嗯,这些宝石不一样。 Rails版本通常扩展标准库。
但是因为foo-rails
在其依赖项中有foo
(see example here),所以你的Gemfile中只需要foo-rails
(Bundler非常棒)。
答案 1 :(得分:0)
cucumber-rails与黄瓜不是一样的宝石。它将Cucumber作为依赖项,以及一些特定于Rails的东西。因为apneadiving说,如果你在Gemfile中包含了cucumber-rails,它也应该加载Cucumber。