Могу ли я вызвать зависимости gem-файла в gemfile? - PullRequest
14 голосов
/ 15 сентября 2011

Если есть два драгоценных камня, A и B.A1.0.0 зависит от B1.0.0.

В моем Gemfile:

gem 'A', '~> 1.0.0'

Затем запустите bundle.Он сгенерирует Gemfile.lock, например:

A (1.0.0)
  B (1.0.0)

Но если я хочу заставить A использовать B1.0.1, что лучше?Более того, если B1.0.1 не релиз, а тег github?

1 Ответ

17 голосов
/ 15 сентября 2011

Вам потребуется явно указать гем B в вашем Gemfile, чтобы использовать репозиторий git или другую версию.Пока A 1.0.0 совместим с B 1.0.1, все будет в порядке.Если он совместим только с B 1.0.0, вам придется создать свой собственный форк гема A и обновить его до совместимости с B 1.0.1, а затем использовать этот репозиторий в качестве гема для A вместо rubygems.версия.

Вот пример Gemfile, который должен дать вам то, что вы хотите, при условии, что A 1.0.0 совместим с B 1.0.1.

gem 'B', :git => 'git://github.com/B/B.git', :tag => '1.0.1'
gem 'A', '~> 1.0.0'
...