ruby-on-rails-3 bundler

ruby on rails 3 - rails bundle install producción solo



ruby-on-rails-3 bundler (2)

Echa un vistazo a --without opción:

bundle install --without development test

De manera predeterminada, Bundler instala todas las gemas y tu aplicación usa las gemas que necesita. Bundler no sabe nada sobre Rails y el entorno actual.

Disculpe si esta es una pregunta tipo RTFM, pero todavía soy nuevo en rails / ruby ​​/ bundler y estoy un poco confundido.

En nuestro archivo config/application.rb hay este segmento bundler:

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

y en nuestro Gemfile utilizamos diferentes grupos, por ejemplo

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

Pero cuando ejecuto RAILS_ENV=production bundle install (o bundle install --deployment ), sigue instalando gemas del grupo de desarrollo / prueba ...

¿Por qué sucede esto o cómo puedo hacer que esto funcione correctamente?


Una solución alternativa es usar la gema de rubí bundle-only . Se puede usar de la siguiente manera:

> gem install bundle-only > bundle-only production

Esta biblioteca no contamina sus configuraciones de bundler ni aumenta Gemfile.lock ; es una alternativa simple al bundle --without every other group opción de bundle --without every other group que proporciona el bundler .