Подтвердить что ты не робот

Rails bundler не устанавливает драгоценные камни внутри группы

У меня есть несколько драгоценных камней, включая ruby-debug в группе bundler, которая называется: development. Когда я запускаю команду bundle, эти драгоценные камни игнорируются, и они устанавливают только драгоценности, которые не входят в какую-либо группу. Как я могу убедиться, что поставщик не игнорирует драгоценные камни в группе: development?

Изменить: это то, что выглядит мой 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
4b9b3361

Ответ 1

В течение сеанса термина он запоминает параметр without. Если вы впервые запустили

bundle install --without development 

он помнит, что вы это сделали, и будет автоматически повторять это для следующего

bundle install #remembers and includes --without development

запустить что-то еще, например bundle install --without nothing очистить кеш. Я прав?

update 20150214: Это исправлено в пакете 2.0, в соответствии с проблемой, указанной в комментарии @Stan Bondi (https://github.com/bundler/bundler/issues/2862). Спасибо Стэн.

Ответ 2

Если вы используете рельсы, будет файл config, записанный в скрытый каталог .bundle в корневой каталог rails:

.bundle/config

Этот файл, в моем случае, содержит именно те настройки without.

Итак, я просто удалил каталог .bundle:

rm .bundle -r

После этого:

bundle install работал снова, как ожидалось.

Using: bundler (1.5.2)

Ответ 3

У меня была такая же проблема, и для меня работал флаг --with. Вам необходимо передать название группы, которую вы хотите включить. Например:

bundle install --with development

Ответ 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)

Подробнее

Ответ 5

У меня была аналогичная проблема - тонкая в постановке игнорировалась - и решение заключалось в том, чтобы вывести ее из строя в глобальное пространство:

gem 'thin'

group :production do
  gem 'puma'
end

Ответ 6

Фактически Rails автоматически загружает группу :development в среду разработки. Проверьте, действительно ли Rails.env в вашем приложении действительно возвращает "development".

Дополнительная информация о группах в Bundler: http://gembundler.com/groups.html