在测试厨房中使用 berks 食谱时未找到资源

No resource found when using berks cookbook in test kitchen

我正在尝试测试使用 sudo 社区食谱的食谱。

我已经在本地安装了 berks,我创建了一个 Berksfile 并向其中添加了以下内容:

source "https://supermarket.getchef.com"

metadata

cookbook 'sudo'

并发出命令 berks installberks vendor

尽管如此,我仍然收到错误

[2016-11-30T12:32:53+00:00] ERROR: No resource or method named `sudo' for `Chef::Recipe "default"'

指向我食谱的这一部分:

49>> sudo 'reboot_bot' do
50:    user 'reboot_bot'
51:    nopasswd true
52:    commands [
53:      '/sbin/reboot'
54:    ]
55:  end

我还有什么需要做的吗?我做错了什么?

您不需要将它放在 Berksfile 中,它仅在您需要从非标准位置加载时用于覆盖。在 metadata.rb 中添加 sudo 食谱作为您自己的食谱的依赖项,然后 Berks 会看到它,更重要的是 Chef 也会看到它(Chef 不知道 Berksfiles)并确保加载自定义资源。