我在我的Cookbook中定义了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
Run Code Online (Sandbox Code Playgroud)
文件内容./some-name/recipes/some-kind.rb是:
some-name_manage "some-kind" do
data_bag "some-kind"
end
Run Code Online (Sandbox Code Playgroud)
在调用刀库菜单上传时,我得到:
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
Run Code Online (Sandbox Code Playgroud)
问题是我的食谱包含短划线(" - ")字符.如果我没有在菜谱中加入破折号,那么一切都很好.
所以问题是:在愿意使用LWRP时,有没有办法在cookbook名称中使用短划线字符?某种逃避?
chef-infra ×1