Ruby 如何限制gems安装在不同的rails环境中?

Ruby 如何限制gems安装在不同的rails环境中?,ruby,ruby-on-rails-3,ruby-on-rails-4,setup-deployment,capistrano3,Ruby,Ruby On Rails 3,Ruby On Rails 4,Setup Deployment,Capistrano3,我的档案中有: .... .. # Use Capistrano for deployment group :development do gem 'capistrano', '3.0.1' gem 'capistrano-rails', '~> 1.1' end 现在,如果我在生产服务器上进行RAILS\u ENV=production bin/bundle安装,它也会安装capistrano gem。这对我来说毫无意义,为什么我需要生产服务器上的capistrano?因此,在

我的档案中有:

....
..
# Use Capistrano for deployment
group :development do
  gem 'capistrano', '3.0.1'
  gem 'capistrano-rails', '~> 1.1'
end
现在,如果我在生产服务器上进行
RAILS\u ENV=production bin/bundle安装
,它也会安装capistrano gem。这对我来说毫无意义,为什么我需要生产服务器上的capistrano?因此,在我的理解中,我没有发现bundler的Gemfile中使用
group:development
块。我做错什么了吗?我如何确保我不安装在本地(开发/测试)而不是生产/登台所需的gem?如果我在这里做错了什么,请纠正我

编辑
请注意,我知道我们可以使用
if ENV['RAILS_ENV']=='production'
处理其他环境不需要的gem。我要寻找的是在bundler的Gemfile中使用
group

如果您只想为生产安装gems,可以使用以下命令:

bundle install --without development test
对于Heroku:

$ heroku config:add BUNDLE_WITHOUT="test development" --app app_name

这不包括开发和测试环境。如果您定义了更多的组,您可以在这个命令的末尾添加它们。

bundle-install——不使用class='production'
,这是正确的。但是,
bundle-install-without='development'
将从测试组安装gems吗?不是吗?我想是的。无论如何,谢谢你。:)是的!谢谢,这很有效!!非常感谢。我希望我也读过这封信。