Disculpa si esta es una pregunta tipo RTFM, pero todavía soy nuevo en rails/ruby / bundler y estoy un poco confundido.rails bundle install producción solo
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 nuestras Gemfile
que 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 corro RAILS_ENV=production bundle install
(o bundle install --deployment
), que todavía instala gemas del grupo de desarrollo/prueba ...
¿Por qué sucede esto o cómo puedo hacer que esto funcione correctamente?
Sé de '--without', pero parece muy elegante, especialmente teniendo en cuenta las directivas de configuración en' config/application.rb' (que se supone que tratan exactamente esto) y también teniendo en cuenta esta cita: [Rails 3 viene con soporte para hornear con bundler.] (Http://gembundler.com/rails3.html) – gingerlime
El comando de instalación del paquete es totalmente independiente de Rails. Simplemente busca en su Gemfile, no importa qué bibliotecas su aplicación realmente requiera en la configuración mencionada. De hecho, puede omitir Bundler.require y requerir libs manualmente desde cualquier grupo. Estoy de acuerdo en que Rails podría integrarse mejor en este caso con Bundler, pero no es así. –
Ya veo. Así que creo que es justo decir que los rieles saben sobre bundler (es decir, en 'config/application.rb' y también' config/boot.rb'), pero bundler no sabe nada sobre los rieles ... Solo lee el Gemfile y no usa ninguno de esos archivos de rieles. Creo que la moneda finalmente cayó. ¡Gracias por tu ayuda! – gingerlime