J'ai plusieurs joyaux, y compris Ruby-debug dans un groupe de bundles appelé: développement. Lorsque j'exécute la commande bundle, ces gems sont ignorés et seuls les gems qui ne figurent dans aucun groupe sont installés. Comment puis-je m'assurer que le lieur n'ignore pas les gemmes 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
. Si vous avez d'abord couru
bundle install --without development
il se souvient que vous l'avez fait et le répètera automatiquement pour le prochain
bundle install #remembers and includes --without development
exécuter quelque chose d'autre, comme bundle install --without nothing
devrait vider le cache. Ai-je raison?
update 20150214: Ceci est 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 Rails, un fichier config
sera écrit dans un répertoire caché appelé .bundle
dans votre répertoire racine Rails:
.bundle/config
Dans mon cas, ce fichier contenait exactement les paramètres without
.
Je viens donc de supprimer le répertoire .bundle
:
rm .bundle -r
Après ça:
bundle install
a fonctionné à nouveau comme prévu.
Using: bundler (1.5.2)
J'ai eu le même problème et le drapeau --with
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)
En fait, Rails charge automatiquement le groupe :development
dans l'environnement de développement. Vérifiez si Rails.env
dans votre application renvoie réellement "development"
.
Plus d'informations sur les groupes dans Bundler: http://gembundler.com/groups.html
J'avais un problème similaire - ma mise en scène était ignorée - et la solution consistait à l'éteindre si nous mettions en scène dans l'espace 'global':
gem 'thin'
group :production do
gem 'puma'
end