我在我的食谱中定义了 LWRP 资源-如http://docs.getchef.com/chef/lwrps_custom.html#file-locations中所述
所以让我们假设我的食谱名称是一些名字,所以我有文件(你可以猜测这个 LWRP 是基于https://github.com/sethvargo-cookbooks/users代码):
./some-name/recipes/default.rb
./some-name/recipes/some-kind.rb
./some-name/providers/manage.rb
./some-name/resources/manage.rb
文件./ some-name / recipes / some-kind.rb的内容如下:
some-name_manage "some-kind" do
data_bag "some-kind"
end
在调用刀食谱一些名字上传我得到:
FATAL: Cookbook file recipes/some-kind.rb has a ruby syntax error:
FATAL: /path/to/chef-repo/cookbooks/some-name/recipes/some-kind.rb:2: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('
FATAL: some-name_manage "some-kind" do
FATAL: ^
FATAL: /path/to/chef-repo/cookbooks/some-name/recipes/some-kind.rb:2: syntax error, unexpected keyword_do, expecting keyword_end
FATAL: /path/to/chef-repo/cookbooks/some-name/recipes/some-kind.rb:8: syntax error, unexpected keyword_end, expecting $end
问题是我的食谱包含破折号(“-”)字符。如果我在食谱中没有破折号,那么一切都可以。
所以问题是:当愿意使用 LWRP 时,有没有办法在食谱名称中使用破折号?
连字符在资源名称中变成下划线,所以应该是some_name_manage
。这是因为 Ruby 方法名称中不允许使用连字符。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(24条)