Подтвердить что ты не робот

Разница между $Bundle install и $Bundle update

Не могли бы вы рассказать мне, в чем разница между:

$Bundle update

и

$Bundle install
4b9b3361

Ответ 1

bundle update и bundle install могут все установить драгоценные камни, указанные вами в Gemfile, но отсутствующие в драгоценных камнях.

Но bundle update делает еще одно обновление:

  • Если у gems, указанных в Gemfile, нет версии, она будет обновлена ​​до любой последней.
  • Если драгоценные камни, указанные в Gemfile, имеют версию с ~>, она обновится до последней в последней цифре, версии патча.

    Например, если у вас есть драгоценный камень в Gemfile

    'foo_gem', '~> 2.1.0'
    

    bundle update проверяет, доступна ли более новая версия 2.1.x в облаке. Скажем, ваша текущая версия 2.1.2, а последняя в облаке - 2.1.5, она установит 2.1.5. Но если 2.2.6 является самым новым, он ничего не сделает.

Лучшая практика на мой взгляд

  • Всегда добавляйте версию к критическим камням, например rails.

  • В большинстве случаев придерживайтесь bundle install (или bundle, который по умолчанию равен install). Выполняйте bundle update только когда это действительно необходимо, и вы полностью готовы к результату.

Ответ 2

Bundle Update заданные драгоценные камни (все драгоценные камни, если они не указаны), игнорируя ранее установленные драгоценные камни, указанные в Gemfile.lock. В общем, вы должны использовать bundle install для установки одинаковых точных драгоценных камней и версий на машинах.