Rails 3中的Gemfile中的组?

nev*_*ame 29 ruby rubygems ruby-on-rails bundler

在我的Rails中的Gemfile中,我有以下组:

group :development, :test do
  gem "capybara"
  gem "database_cleaner"
  gem "spork"
  gem "launchy"
end

group :bdd do
  gem "cucumber-rails"
  gem "rspec-rails"
end
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

Dav*_*yod 30

来自http://yehudakatz.com/2010/05/09/the-how-and-why-of-bundler-groups/:

指定组允许您执行两项操作.首先,您可以在Gemfile中安装gems,减去特定组.例如,Rails将mysql和pg放在一个数据库组中,这样如果你只是在使用ActionPack,你可以捆绑install --without db并运行ActionPack测试,而不必担心安装gems.

其次,您可以使用Bundler.require列出要自动获取的特定组.默认情况下,Bundler.require需要默认组中的所有gem(这是所有没有显式组的gem).您也可以说Bundler.require(:default,:another_group)需要特定的组.


Ben*_*ynn 11

通过对依赖项进行分组,您可以对整个组执行操作.请参阅:http://gembundler.com/v1.3/groups.html