Где мне выполнить настройку Bundler? - PullRequest
0 голосов
/ 21 января 2011

Если я разрабатываю гем, используя Bundler и RSpec для тестирования. Где мне сделать мой Bundler.setup? Давайте предположим, что мой драгоценный камень называется fancy-gem и мои настройки каталога похожи на следующие:

Gemfile
Gemfile.lock
lib/
  fancy-gem.rb
Rakefile
README
spec/
  ...

Должен ли я выполнить Bundler.setup в моем 'fancy-gem.rb' или это вызывает проблемы с другими драгоценными камнями, которые могут использовать упаковщик? Я думаю, что когда я этого не делаю, тогда невозможно гарантировать, что загружена нужная версия сторонних библиотек, которые мне нужны.

Я уже спросил, нужно ли добавить сам Bundler в Gemfile . Ответ был отрицательным, но теперь я не уверен, потому что, если я где-нибудь выполняю Bundler.setup, то Bundler фактически является зависимостью моего Gem и должен быть установлен вместе с моим Gem, когда он загружен с rubygems.org

1 Ответ

3 голосов
/ 21 января 2011

По моему мнению, вы не должны ни зависеть от упаковщика, ни использовать его в своем драгоценном камне. Чтобы сделать это, нужно просто указать зависимости вашего гема в lib / fancy-gem.rb (почти каждый гем имеет лишь несколько зависимостей времени выполнения, так что это не должно быть слишком сложным), и я бы вызвал Bundler .setup только в файлах разработки (например, spec_helper.rb или Rakefile). Таким образом, вы не работаете с приложениями, которые используют ваш гем, и при этом получаете все удобство автоматического управления зависимостями при разработке вашего гема.

...