Rails bundler n’installe pas de gemmes dans un groupe

J’ai plusieurs gemmes, y compris ruby-debug dans un groupe de bundler appelé: développement. Lorsque je lance la commande bundle, ces gems sont ignorés et n’installe que les gems qui ne sont dans aucun groupe. Comment puis-je m’assurer que Bundler n’ignore pas les joyaux du groupe de développement?

Edit: Voici à quoi ressemble mon Gemfile.

source 'http://rubygems.org' gem 'rails', '3.0.1' # Auth gems gem "devise", "1.1.3" gem "omniauth" # Bundle Mongoid gems gem "mongoid", "2.0.0.beta.19" gem "bson_ext" # Asset gems gem 'jquery-rails' gem "jammit" # Controller gems gem 'inherited_resources', '1.1.2' # View gems gem 'haml' gem 'formtastic', '~> 1.1.0' # Nokogiri gem "mechanize" gem "json" group :development do gem "ruby-debug" gem 'compass' gem 'compass-colors' gem 'pickler' gem 'haml-rails' gem 'rails3-generators' gem "hpricot" gem "ruby_parser" gem 'fog' end 

Dans une session de session, il se souvient de l’option without option. Si vous avez d’abord couru

 bundle install --without development 

il se souvient que vous avez fait cela et le répètera automatiquement pour la prochaine

 bundle install #remembers and includes --without development 

exécuter quelque chose d’autre, comme l’ bundle install --without nothing doit effacer le cache. Ai-je raison?

update 20150214: Ce problème a été résolu dans le bundler 2.0, selon le problème mentionné dans le commentaire de @Stan Bondi ( https://github.com/bundler/bundler/issues/2862 ). Merci Stan.

Si vous utilisez des rails, il y aura un fichier de config écrit dans un .bundle caché appelé .bundle dans votre répertoire racine de rails:

 .bundle/config 

Ce fichier, dans mon cas, contenait exactement les parameters without .

Je viens donc de supprimer le répertoire .bundle :

 rm .bundle -r 

Après ça:

bundle install fonctionné à nouveau comme prévu.

 Using: bundler (1.5.2) 

J’ai eu le même problème et – avec le drapeau a fonctionné pour moi. Vous devez transmettre le nom du groupe que vous souhaitez inclure. Comme ça:

 bundle install --with development 
  gem 'aws-s3' gem 'paperclip' group :test do gem 'rspec' gem 'waitr' gem 'faker' end gem 'rest-client', :group => :development gem 'cucuber-rails', :groups => [:development,:test] (cucuber-rails gems comes under both group) bundle install --without development #(ignore development group gems) bundle install #(still bundle remembers --without development so result is still ignore development groups it will not install all gems) bundle install --without nothing #(just clearing cache, now all the gems to be loaded into the ruby loadpath) 

Plus

J’ai eu un problème similaire – mince dans la mise en scène ignoré – et la solution était de l’éteindre si mettre en place dans l’espace «global»:

 gem 'thin' group :production do gem 'puma' end 

En fait, Rails charge automatiquement le groupe de développement dans un environnement de développement. Vérifiez si Rails.env dans votre application retourne vraiment "development" .

Informations supplémentaires sur les groupes dans Bundler: http://gembundler.com/groups.html