Bundler: всегда используйте последнюю версию ветки git в Gemfile
У меня есть Gemfile с частным репо git в следующем формате:
gem 'magic_beans', :git => "[email protected]:magic_beans.git', :branch => 'super_beans'
Когда я bundle install
, Gemfile.lock привязывает его к конкретной ревизии SHA.
Могу ли я получить связку, чтобы всегда проверять и использовать последнюю фиксацию SHA и/или обновлять Gemfile.lock? Обратите внимание, что при отправке обновлений в ветку super_beans
я не изменяю версию gem.
В идеале, каждый раз, когда я запускаю bundle
, он проверяет upstream git repo для более новой ревизии SHA ветки.
Ответы
Ответ 1
Это не работает пакет.
Дело в том, чтобы обеспечить бесшовное управление версиями.
(в частности, вы точно знаете, какая версия кода будет развернута в любой момент времени).
Если требуется последняя версия, вы должны просто запустить.
bundle update magic_beans
Это точно такая же функциональность, как если бы вы просто сказали
gem "rails"
Я бы предположил, что если у вас есть ряд конкретных вещей, которые вы хотите обновить
затем добавьте пользовательский двоичный файл (скажем, исполняемый файл с именем bundle_update
)
#!/usr/bin/env bash
bundle install
bundle update magic_beans
Затем просто сделайте ./bundle_update
, если вы хотите обновить эти вещи.
Ответ 2
Вы можете запустить bundle update
для обновления всех или конкретных драгоценных камней до их последней доступной версии, как указано в docs.
Помогло бы?
Ответ 3
После поиска документов я наконец нашел волшебный способ сделать это:
bundle update magic_beans --source magic_beans
То есть, чтобы обновить драгоценный камень magic_beans
, но не касаться других заблокированных драгоценных камней. Документ об этом: http://bundler.io/man/bundle-update.1.html