钢轨捆绑安装生产只
道歉,如果这是一个RTFMtypes的问题,但我还是新的rails / ruby / bundler,有点困惑。
在我们的config/application.rb
文件中有这个捆绑器段:
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
我们使用不同的组,例如
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
),它仍然从开发/testing组安装gem…
为什么会发生这种情况,或者我该如何正确使用这项工作?
看看 – 没有选项:
bundle install --without development test
默认情况下Bundler安装所有的gem,你的应用程序使用它需要的gem。 Bundler本身对Rails和当前环境一无所知。
另一种解决scheme是使用bundle-only
rubygem 。 它可以使用如下:
> gem install bundle-only > bundle-only production
这个库不会污染你的bundlerconfiguration或增加Gemfile.lock
; 这是一个简单的替代内置bundle --without every other group
没有bundler
提供的bundle --without every other group
选项。