我想测试一下方舟食谱。为了做到这一点,我创建了一个名为test_ark的食谱,其中包含一个配方default.rb:
# Copyright (c) 2017 The Authors, All Rights Reserved.
ark 'example' do
url "http://apache.claz.org/kafka/0.10.2.1/kafka_2.10-0.10.2.1.tgz"
end
当我跑#34; chef-apply test_ark / default.rb"要执行default.rb配方,我在标题中得到错误:
[2017-06-02T10:48:18-04:00] FATAL: Stacktrace dumped to /Users/nackerman/.chef/cache/chef-stacktrace.out
[2017-06-02T10:48:18-04:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2017-06-02T10:48:18-04:00] FATAL: NoMethodError: No resource or method named `ark' for `Chef::Recipe "(chef-apply recipe)"'
我已经包含了#ark'我的Berksfile中的食谱:
cookbook 'ark'
我已将其作为依赖项包含在metadata.rb文件中:
depends 'ark'
我还需要为#ark'做些什么呢?阻止#ark' cookbook在default.rb配方中可见吗?
答案 0 :(得分:1)
chef-apply
是一个非常基本的工具,仅用于培训或简单脚本。它不会处理依赖关系,也不会处理它所提供的单个文件之外的任何加载。您可能希望使用chef-solo
进行本地测试,可能是通过Test Kitchen。