Сценарий: я разрабатываю камень gem-foo
, используя Bundler.У меня есть зависимость от gem-bar
, которую я проверил локально для разработки.Я могу объявить эту зависимость в Gemfile
как:
gem "gem-bar", :path => "/path/to/local/gem-bar"
Однако при разработке драгоценного камня «наилучшей практикой» является определение необходимых драгоценных камней в gem-foo.gemspec
через:
s.add_runtime_dependency 'gem-bar'
, а затем просто включите зависимости в Gemfile
, используя:
gemspec
Что я хотел бы сделать, это добавить зависимость времени выполнения для гема в gemspec, но сделать некоторыелокальные изменения gem-bar
и bundle install
, использующие локальную проверку разработки.Предположим случай, когда я контролирую оба драгоценных камня и одновременно взламываю их, и я буду загружать новые версии одновременно.Я мог бы просто закомментировать s.add_runtime_dependency
в gemspec и добавить его с локальным путем в Gemfile, но это кажется ... подверженным ошибкам?Gemspec должен всегда объявлять эту зависимость, и Gemfile должен иметь возможность переопределять местоположение, которое Bundler должен использовать для этого драгоценного камня.Однако, если вы действительно сделаете это, вы получите следующую ошибку:
Нельзя указывать один и тот же драгоценный камень дважды из разных источников.Вы указали, что gem-bar (> = 0) должен исходить из неопределенного источника и источника в / path / to / local / gem-bar
В идеале, я бы просто имел какой-то локальныйпереопределить, так как мне никогда не нужен случай, когда я случайно толкаю камень с требованием локального gem-bar
на определенном пути.Это было бы глупо.
У кого-нибудь есть хорошее решение для этого варианта использования?