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
.