Rails-bundelaar installeert geen edelstenen in een groep

Ik heb verschillende juweeltjes, waaronder ruby-debug, in een bundelgroep genaamd :development. Wanneer ik de bundelopdracht uitvoer, worden deze edelstenen genegeerd en worden alleen de edelstenen geïnstalleerd die zich niet in een groep bevinden. Hoe kan ik ervoor zorgen dat Bundler de edelstenen in de :ontwikkelingsgroep niet negeert?

Bewerken: zo ziet mijn Gemfile eruit.

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

Antwoord 1, autoriteit 100%

Binnen een termijnsessie onthoudt het de optie without. Als je voor het eerst

bundle install --without development 

het onthoudt dat je dit hebt gedaan en zal dit automatisch herhalen voor de volgende

bundle install #remembers and includes --without development

iets anders uitvoeren, zoals bundle install --without nothingzou de cache moeten wissen. Heb ik gelijk?

update 20150214:dit is opgelost in Bundler 2.0, volgens het probleem waarnaar wordt verwezen in de opmerking van @Stan Bondi (https://github.com/bundler/bundler/issues/2862). Bedankt Stan.


Antwoord 2, autoriteit 25%

Als je rails gebruikt, zal er een bestand configzijn geschreven in een verborgen map met de naam .bundlein de hoofdmap van je rails:

.bundle/config

In mijn geval bevatte dit bestand precies de withoutinstellingen.

Dus ik heb zojuist de directory .bundleverwijderd:

rm .bundle -r

Daarna:

bundle installwerkte weer zoals verwacht.

Using: bundler (1.5.2)

Antwoord 3, autoriteit 12%

Ik had hetzelfde probleem en de vlag --withwerkte voor mij. U moet de groepsnaam doorgeven die u wilt opnemen. Zo:

bundle install --with development

Antwoord 4

   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)

Meer


Antwoord 5

In feite laadt Rails de groep :developmentautomatisch in de ontwikkelomgeving. Controleer of Rails.envin je app echt "development"oplevert.

Meer informatie over groepen in Bundler:
http://gembundler.com/groups.html


Antwoord 6

Ik had een soortgelijk probleem – dun in enscenering genegeerd – en de oplossing was om het uit te zetten als enscenering in de ‘globale’ ruimte:

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

Antwoord 7

Ik heb hetzelfde probleem ondervonden met bundler 2.1.4. Toen ik mijn .bundle/configcontroleerde, had het

---
BUNDLE_PATH: "vendor/bundle"
BUNDLE_WITHOUT: "development:test:build"

Verwijder daar groepen en voeg BUNDLE_WITHtoe aan je groepen.

BUNDLE_WITH: "development"

Ik heb de ~/.bundle/configverwijderd. maar er was een bestand in mijn projectdirectory. .bundle/config. Lokale mapbestanden hebben voorrang op de hoofdconfiguratiebestanden.

Als je de reden niet kunt achterhalen, kun je gewoon een bestand maken in je projectdirectory .bundle/config. en voeg deze inhoud daar toe

BUNDLE_WITH: "development:test:anyGroupYouWant"

Other episodes