Ich bin noch neu in Rails / Ruby / Bundler und bin ein wenig verwirrt.
In unserer config/application.rb
Datei befindet sich dieses Bundlersegment:
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
und in unseren verwenden Gemfile
wir verschiedene Gruppen, z
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
Aber wenn ich RAILS_ENV=production bundle install
(oder bundle install --deployment
) starte, werden immer noch Edelsteine aus der Entwicklungs- / Testgruppe installiert ...
Warum passiert das oder wie kann ich das richtig machen?
quelle
--without
, aber es scheint sehr elegant zu sein, insbesondere wenn man die Konfigurationsanweisungen inconfig/application.rb
(die genau dies ansprechen sollen) und auch dieses Zitat berücksichtigt: Rails 3 wird mit Backed zur Unterstützung von Bundler geliefert.config/application.rb
und auchconfig/boot.rb
), aber Bundler weiß nichts über Rails ... Es liest nur die Gemfile und verwendet keine dieser Rails-Dateien. Ich denke, die Münze ist endlich gefallen. Danke für Ihre Hilfe!--without
die durch:
s getrennt werden sollen , nicht durch Leerzeichen. Also ich glaube es sollte seinbundle install --without development:test
.Eine alternative Lösung ist die Verwendung des
bundle-only
Rubin-Edelsteins . Es kann wie folgt verwendet werden:Diese Bibliothek verschmutzt Ihre Bundler-Konfigurationen oder -Erweiterungen nicht
Gemfile.lock
. Es ist eine einfache Alternative zu der integriertenbundle --without every other group
Optionbundler
.quelle