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