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 nothing
zou 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 config
zijn geschreven in een verborgen map met de naam .bundle
in de hoofdmap van je rails:
.bundle/config
In mijn geval bevatte dit bestand precies de without
instellingen.
Dus ik heb zojuist de directory .bundle
verwijderd:
rm .bundle -r
Daarna:
bundle install
werkte weer zoals verwacht.
Using: bundler (1.5.2)
Antwoord 3, autoriteit 12%
Ik had hetzelfde probleem en de vlag --with
werkte 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)
Antwoord 5
In feite laadt Rails de groep :development
automatisch in de ontwikkelomgeving. Controleer of Rails.env
in 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/config
controleerde, had het
---
BUNDLE_PATH: "vendor/bundle"
BUNDLE_WITHOUT: "development:test:build"
Verwijder daar groepen en voeg BUNDLE_WITH
toe aan je groepen.
BUNDLE_WITH: "development"
Ik heb de ~/.bundle/config
verwijderd. 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"