首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails捆绑包仅安装生产版

Rails捆绑包仅安装生产版
EN

Stack Overflow用户
提问于 2012-06-06 18:42:39
回答 2查看 61.1K关注 0票数 92

我仍然是rails/ruby/bundler的新手,我有点困惑。

在我们的config/application.rb文件中,有这个捆绑程序片段:

代码语言:javascript
复制
if defined?(Bundler)         
  # If you precompile assets before deploying to production, use this line
  Bundler.require(*Rails.groups(:assets => %w(development test)))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
end

在我们的Gemfile中,我们使用不同的组,例如

代码语言:javascript
复制
group :development, :test do
  gem "rspec-rails", ">= 2.7.0", :group => [:development, :test]
  gem 'shoulda-matchers'
  gem 'watchr'
  gem 'spork', '~> 1.0rc'
  gem 'spectator'                          
  gem 'debugger'
  gem 'wirble'
end

但当我运行RAILS_ENV=production bundle install (或bundle install --deployment)时,它仍然会安装来自开发/测试小组的gem……

为什么会发生这种情况,或者我如何才能使其正常工作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-06 18:46:00

看看--without选项:

bundle install --without development test

默认情况下,Bundler安装所有gem,您的应用程序使用它需要的gem。Bundler本身对Rails和当前环境一无所知。

票数 190
EN

Stack Overflow用户

发布于 2017-06-14 17:57:09

另一种解决方案是使用bundle-only ruby gem。它的使用方法如下:

代码语言:javascript
复制
> gem install bundle-only
> bundle-only production

这个库不会污染您的捆绑器配置,也不会增加Gemfile.lock;它是bundler提供的内置bundle --without every other group选项的简单替代品。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10912614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档