rails bundle install uniquement à la production
Excuses si c'est un RTFM-type de question, mais je suis encore nouveau pour rails/ruby/bundler et je suis un peu confus.
Dans notre config/application.rb
fichier, il y a cette bundler segment:
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
et dans notre Gemfile
nous utilisons différents groupes, par exemple
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
Mais quand je lance RAILS_ENV=production bundle install
(ou bundle install --deployment
), il reste installe des trésors de développement/test de groupe...
Pourquoi ce qui se passe ou comment puis-je faire ce travail correctement?
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à
--without
option:bundle install --without development test
Par défaut Bundler installe toutes les gemmes et votre application utilise les pierres précieuses qu'il a besoin. Bundler lui-même ne sait rien sur les Rails et l'environnement actuel.
--without
, mais il semble très élégant, en particulier compte tenu de ces directives de configuration dansconfig/application.rb
(qui sont censés l'adresse exactement ce) et compte tenu également de cette citation: Rails 3 est livré avec cuit à l'appui avec bundler.config/application.rb
et aussiconfig/boot.rb
), mais bundler ne sait rien sur les rails... Il ne lit que le Gemfile et ne pas utiliser n'importe quel de ces rails de fichiers. Je pense que la pièce a finalement baissé. Merci pour votre aide!--without
sont censés être séparés par:
s, pas d'espaces. Donc, je crois qu'il devrait êtrebundle install --without development:test
.Gems in the groups development and test were not installed.
Une solution alternative est d'utiliser le
bundle-seulement
ruby gem. Il peut être utilisé comme suit:Cette bibliothèque ne pollue pas votre bundler configs ou augmenter
Gemfile.lock
; c'est une simple alternative à la construction dans lebundle --without every other group
option quebundler
fournit.