Я помогаю в разработке серии взаимосвязанных драгоценных камней. Поэтому я не хочу, чтобы они сильно зависели друг от друга, но я делаю хочу, чтобы они запускали тесты в разработке, которые используют друг друга. Просто верно? Просто используйте add_development_dependency
в gemspec, верно? Ну, есть одна маленькая морщинка - репозиторий git содержит все драгоценные камни, и поэтому я хочу, чтобы Gemfile указывал на локальную копию драгоценного камня. Это работает с жесткой зависимостью. В gemspec у меня есть эта строка для моей жесткой зависимости:
s.add_dependency "mygem-core"
А затем в Gemfile у меня есть эта строка:
gem "mygem-core", :path => "../mygem-core"
Это работает ОТЛИЧНО. Зависимость существует, когда я выталкиваю этот пакет, и когда я тестирую, он будет использовать локальную копию mygem-core. Проблема в том, что когда я помещаю ЭТО в gemspec:
s.add_development_dependency "mygem-runtime"
А затем это в Gemfile:
gem "mygem-runtime", :path => "../mygem-runtime"
Тогда я получаю сообщение об ошибке при запуске bundle:
You cannot specify the same gem twice coming from different sources. You specified that mygem-packager (>= 0) should come from source at ../mygem-packager and
Да, это не опечатка в конце. Буквально пустое, пустое место в конце для второго «местоположения». Есть ли умные способы обойти это? Я хочу добавить это как зависимость для разработки и использовать локальный источник. Чего мне не хватает?