NoMethodError:没有名为`ark'的资源或方法对于`Chef :: Recipe"(厨师应用食谱)"'

时间:2017-06-02 15:00:06

标签: chef

我想测试一下方舟食谱。为了做到这一点,我创建了一个名为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配方中可见吗?

1 个答案:

答案 0 :(得分:1)

chef-apply是一个非常基本的工具,仅用于培训或简单脚本。它不会处理依赖关系,也不会处理它所提供的单个文件之外的任何加载。您可能希望使用chef-solo进行本地测试,可能是通过Test Kitchen。