我正在尝试根据Chef::Provider::Tarball
添加自定义主厨提供商Chef::Provider::Git
。
由于某种原因,它不想工作。我补充说:
/usr/lib/ruby/vendor_ruby/chef/provider/tarball.rb
并在Chef::Provider::Tarball
和/usr/lib/ruby/vendor_ruby/chef/provider/deploy.rb
中添加了对/usr/lib/ruby/vendor_ruby/chef/providers.rb
的引用:
require "chef/provider/tarball"
我收到的错误消息是致命错误:NameError:未初始化的常量Chef :: Provider :: Tarball
这是完整的堆栈:
https://gist.github.com/7aa71a2088c5ec36d011
我可能遗失的任何想法?
答案 0 :(得分:0)
您可能不想尝试制作这样的内置提供程序。处理它的正确方法是制作一个LWRP的食谱。您仍然可以根据包含LWRP的食谱在其他烹饪书中使用LWRP。如果您确定需要重量级提供程序而不是LWRP,那么您可能希望将其构建到Chef代码本身(提供程序位于lib / chef / provider /下),因此它将自动加载并且不使用require行。 / p>