Скажем, у меня есть Gemfile, как показано ниже.
source "GEM_REPOSITORY"
gem 'gem_A'
# gem_A has no additional dependency
gem 'gem_B'
# gem_B depends on gem_B_1 and gem_B_2
Когда я запускаю bundle install
, я хочу, чтобы Bundler делал следующее.
Если гем уже существует в «локальных общесистемных гемах», он копирует гем из локального.
Если гем не существует в локальном хранилище, он ищет GEM_REPOSITORY.
Я искал некоторые связанные статьи и нашел несколько вероятных ответов, таких как
Но ничего из вышеперечисленного не похоже на ответ для меня. Использование приоритета исходного репозитория не работает. Потому что в приведенном выше примере, если зависимый гем (скажем, gem_B_1
) выходит из локального хранилища, но целевой гем (gem_B
) не существует в локальном хранилище, он загрузит оба вышеперечисленных из удаленного репозитория.
Есть ли работа для этого? Если нет, не считаете ли вы это необходимым, учитывая стоимость внедрения и эффект?