0

Chef::Provider::Tarballに基づいて、カスタムシェフプロバイダーを追加しようとしていChef::Provider::Gitます。

どういうわけかそれは働きたくない。追加した:

/usr/lib/ruby/vendor_ruby/chef/provider/tarball.rb

また、Chef::Provider::Tarballin/usr/lib/ruby/vendor_ruby/chef/provider/deploy.rb/usr/lib/ruby/vendor_ruby/chef/providers.rb:への参照を追加しました

require "chef/provider/tarball"

私が受け取るエラーメッセージはFATALです:NameError:初期化されていない定数Chef :: Provider :: Tarball

フルスタックは次のとおりです。

https://gist.github.com/7aa71a2088c5ec36d011

私が見逃している可能性のあるアイデアはありますか?

4

1 に答える 1

0

おそらく、そのような組み込みプロバイダーを作成しようとは思わないでしょう。それを処理する適切な方法は、LWRPを使用してクックブックを作成することです。LWRPを含むクックブックに応じて、他のクックブックでLWRPを引き続き使用できます。LWRPではなくヘビーウェイトプロバイダーが必要な場合は、Chefコード自体にビルドすることをお勧めします(プロバイダーはlib / chef / Provider /の下にあります)。これにより、プロバイダーは自動ロードされ、require行を使用しなくなります。

于 2012-06-27T23:44:28.677 に答える