Ответ 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
только когда это действительно необходимо, и вы полностью готовы к результату.