Ответ 1
Команда update попытается найти новейшие версии каждой поваренной книги (которые все еще соответствуют любым требованиям к версии, которые вы определили). Например, предположим, что у вас есть следующий Berksfile:
cookbook 'foo', '~> 1.0.0'
Это говорит Беркшельфу о принятии любой версии в серии 1.0.x
. Таким образом, вы запускаете berks install
и (предположительно) foo-1.0.5
устанавливается в локальную berkshelf. Файл блокировки "заблокирует" определение для foo в версии 1.0.5, поэтому другие разработчики и будущие установки всегда будут использовать версию 1.0.5 (это вся точка файла блокировки).
(Проходит несколько месяцев...)
Теперь вы хотите обновить кулинарию до последней версии. Но из-за SemVer вы хотите остаться в серии 1.0.x. Запуск berks update
откроет жесткую зависимость в файле блокировки, но сохранит ограничение в Berksfile. Итак (гипотетически), если на сайте сообщества были следующие версии cookbook foo:
- 1.0.5
- 1.0.6
- 1.0.8
- 1.1.0
- 2.0.0
berks update
обновит вашу локальную версию до 1.0.8
, поскольку это последняя опубликованная версия, которая все еще удовлетворяет вашим ограничениям.