wake-up-neo.com

Rails Bundler installiert keine Edelsteine ​​innerhalb einer Gruppe

Ich habe mehrere Edelsteine, einschließlich Ruby-Debug in einer Bundler-Gruppe namens: development. Beim Ausführen des Bundle-Befehls werden diese Edelsteine ​​ignoriert und es werden nur die Edelsteine ​​installiert, die sich in keiner Gruppe befinden. Wie kann ich sicherstellen, dass Bundler die Edelsteine ​​in der: Entwicklungsgruppe nicht ignoriert? 

Edit: So sieht mein Gemfile aus.

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
51
picardo

Innerhalb einer Termensitzung speichert es die Option without. Wenn du zuerst gelaufen bist 

bundle install --without development 

er merkt sich, dass Sie dies getan haben, und wiederholt dies automatisch für die nächste 

bundle install #remembers and includes --without development

wenn Sie etwas anderes ausführen, wie bundle install --without nothing, sollte der Cache gelöscht werden. Habe ich recht?

update 20150214: Dieses Problem wurde in Bundler 2.0 behoben. Dieses Problem wurde in einem Kommentar von @Stan Bondi ( https://github.com/bundler/bundler/issues/2862 ) angegeben. Danke, Stan.

128
oma

Wenn Sie Rails verwenden, wird eine Datei config in ein verstecktes Verzeichnis namens .bundle in Ihrem Rails-Stammverzeichnis geschrieben:

.bundle/config

Diese Datei enthielt in meinem Fall genau die without-Einstellungen.

Also habe ich gerade das .bundle Verzeichnis gelöscht:

rm .bundle -r

Nachdem:

bundle install hat wieder wie erwartet funktioniert.

Using: bundler (1.5.2)
27
mahatmanich

Ich hatte das gleiche Problem und --with flag arbeitete für mich. Sie müssen den Gruppennamen übergeben, den Sie einschließen möchten. So wie das:

bundle install --with development
8
    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)

Mehr

2
vijaya

Tatsächlich lädt Rails die :development Gruppe in der Entwicklungsumgebung automatisch. Überprüfen Sie, ob Rails.env in Ihrer App wirklich "development" zurückgibt.

Weitere Informationen zu Gruppen in Bundler: http://gembundler.com/groups.html

0
pex

Ich hatte ein ähnliches Problem - dünn in der Inszenierung ignoriert - und die Lösung bestand darin, das Problem zu lösen, wenn ich in den "globalen" Raum gehe:

gem 'thin'

group :production do
  gem 'puma'
end
0
maprihoda