Je suis encore nouveau sur rails / ruby / bundler et je suis un peu confus.
Dans notre config/application.rb
fichier, il y a ce segment de 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
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 installe toujours des gemmes du groupe de développement / test ...
Pourquoi cela se produit-il ou comment puis-je faire en sorte que cela fonctionne correctement?
la source
--without
, mais cela semble très élégant, en particulier compte tenu de ces directives de configuration dansconfig/application.rb
(qui sont censées répondre exactement à cela) et également de cette citation: Rails 3 est livré avec un support cuit avec bundler.config/application.rb
et aussiconfig/boot.rb
), mais que bundler ne sait rien des rails ... Il ne lit que le Gemfile et n'utilise aucun de ces fichiers rails. Je pense que la pièce a finalement chuté. Merci de votre aide!--without
sont censés être séparés par des:
s et non par des espaces. Donc je pense que ça devrait l'êtrebundle install --without development:test
.Une solution alternative consiste à utiliser la
bundle-only
gemme rubis . Il peut être utilisé comme suit:Cette bibliothèque ne pollue ni ne pollue vos configurations de bundler
Gemfile.lock
; c'est une alternative simple à l'bundle --without every other group
option intégrée quibundler
fournit.la source