Todavía soy nuevo en rails / ruby / bundler y estoy un poco confundido.
En nuestro config/application.rbarchivo hay este segmento de paquete:
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 Gemfileusamos 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), todavía instala gemas del grupo de desarrollo / prueba ...
¿Por qué sucede esto o cómo puedo hacer que esto funcione correctamente?
fuente

--without, pero parece muy elegante, particularmente considerando esas directivas de configuración enconfig/application.rb(que se supone que tratan exactamente esto) y también considerando esta cita: Rails 3 viene con soporte horneado con bundler.config/application.rby tambiénconfig/boot.rb), pero el bundler no sabe nada sobre rails ... Solo lee el Gemfile y no usa ninguno de esos archivos de rails. Creo que finalmente cayó la moneda. ¡Gracias por tu ayuda!--withoutse supone que los argumentos deben estar separados con:s, no con espacios. Entonces creo que debería serbundle install --without development:test.Una solución alternativa es utilizar la
bundle-onlygema de rubí . Se puede utilizar de la siguiente manera:Esta biblioteca no contamina las configuraciones o el aumento de su empaque
Gemfile.lock; es una alternativa simple a labundle --without every other groupopción incorporada quebundlerofrece.fuente