Berksfile.lock игнорируется?

У меня есть следующее Berksfile в моем app/ каталог:

source "https://supermarket.chef.io"
cookbook "apt", "~> 3.0.0"
cookbook "nodejs", "~> 2.2"

Когда я бегу berks install (версия 4.3.3), я получаю:

Resolving cookbook dependencies...
Fetching cookbook index from https://supermarket.chef.io...
Using apt (3.0.0)
...

Мой каталог приложений содержит Berksfile.lock который содержит следующую строку

apt (3.0.0)

В моем начальном Berksfile Я удаляю cookbook apt строка (строка 2). Я ожидаю, что Berks использовать мой Berksfile.lock, Но вместо этого, когда я бегу berks install опять получаю

Resolving cookbook dependencies...
Fetching cookbook index from https://supermarket.chef.io...
Using apt (4.0.0)

И мой Berksfile.lock обновляется с новым apt версия. Это ожидаемое поведение? Я ожидал бы такое поведение с berks update команда...

2 ответа

Поскольку вы сняли ограничение версии, Berks теперь найдет и будет использовать новейшую доступную версию, которая будет отвечать всем требованиям к версии, указанным в поваренных книгах, которыми он управляет. Очевидно, что в вашем случае apt version 4.0 удовлетворяет всем требованиям сторонней версии зависимостей.

Не указывайте ограничения версии в Berksfile, но использовать metadata.rb вместо. Это также гарантирует, что правильная версия используется при запуске chef-client,

Другие вопросы по тегам