61 votes

Rails bundler n'installe pas de gemmes à l'intérieur d'un groupe

J'ai plusieurs joyaux, y compris ruby-debug, dans un groupe de bundles appelé: development. Lorsque j'exécute la commande bundle, ces gems sont ignorés et n'installe que les gems ne faisant partie d'aucun groupe. 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
 

142voto

oma Points 5398

À l'intérieur d'un terme de la session, il se souvient de la sans option. Si vous avez d'abord couru

bundle install --without development 

il se souvient que vous avez fait cela et sera automatiquement répétez cette opération pour la prochaine

bundle install #remembers and includes --without development

l'exécution de quelque chose d'autre, comme bundle install --without nothing doit vider le cache. Suis-je le droit?

mise à jour 20140214: C'est corrigé dans la bundler 2.0, selon la question référencé dans le commentaire de @Stan Bondi (https://github.com/bundler/bundler/issues/2862). Merci Stan.

2voto

vijaya Points 21
     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

0voto

maprihoda Points 5600

J'avais un problème similaire - ma mise en scène était ignorée - et la solution consistait à l'éteindre si la mise en scène se déroulait dans l'espace "global":

 gem 'thin'

group :production do
  gem 'puma'
end
 

0voto

pex Points 2237

En fait, Rails charge automatiquement le groupe :development dans les environnements 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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X