web-dev-qa-db-ja.com

Rails bundlerはグループ内に宝石をインストールしません

:developmentというバンドルグループにRuby-debugを含むいくつかの宝石があります。 bundleコマンドを実行すると、これらのgemは無視され、どのグループにも属していないgemのみがインストールされます。バンドラーが:developmentグループのgemを無視しないようにするにはどうすればよいですか?

編集:これは私の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
56
picardo

学期中、withoutオプションを記憶します。初めて走った場合

bundle install --without development 

あなたがこれをしたことを覚えており、次のためにこれを自動的に繰り返します

bundle install #remembers and includes --without development

bundle install --without nothingのような他のものを実行すると、キャッシュがクリアされます。私は正しいですか?

更新20150214:これは、@ Stan Bondi( https://github.com/bundler/bundler/issues/2862 )。スタンに感謝します。

128
oma

Railsを使用している場合、config.bundleという隠しディレクトリに書き込まれますRailsルートディレクトリ:

.bundle/config

私の場合、このファイルはwithout設定を正確に保持していました。

だから私は.bundleディレクトリを削除しました:

rm .bundle -r

その後:

bundle installは期待どおりに再び機能しました。

Using: bundler (1.5.2)
29
mahatmanich

私は同じ問題があり、--withフラグが機能しました。含めるグループ名を渡す必要があります。そのように:

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

その他

2
vijaya

実際、Railsは、開発環境で:developmentグループを自動的にロードします。アプリのRails.envが本当に"development"を返すかどうかを確認してください。

バンドラーのグループに関する詳細情報: http://gembundler.com/groups.html

0
pex

私は同様の問題を抱えていました-ステージングが無視されていました-解決策は、「グローバル」スペースにステージングする場合はそれを消すことでした:

gem 'thin'

group :production do
  gem 'puma'
end
0
maprihoda