如果用Gemfile编写,这个代码是什么意思

时间:2011-08-02 08:26:38

标签: ruby-on-rails gem bundle

如果我在'Gemfile'中编写以下代码:

group :development do
gem 'xyz'
end

group:test do
gem 'xyz'
end

这是什么意思?

感谢。

3 个答案:

答案 0 :(得分:5)

您可以指定应在哪个环境中安装哪些gem。例如,您可能希望使用SQLite进行开发和测试,但需要使用MySQL进行生产。所以你会写:

gem 'devise'

group :development, :test do
  gem 'sqlite'
end

group :production do
  gem 'mysql2'
end

运行bundle install --without development:test将安装devise和mysql2 gems。

答案 1 :(得分:3)

仅在开发和测试环境中安装xyz gem。

它也可以写成:

group :development, :test do
  gem 'xyz'
end

答案 2 :(得分:2)

这意味着块中的所有宝石都只会在这个环境中加载(测试或开发)