7

こんにちは、Amazon EC2 Linux AMI で Chef Solo を使用して MongoDB レシピを実行しようとしています。Omnibus をインストールし、クックブックのパスを .rb ファイルに設定し、ランリストを .json ファイルに設定しました。mongodb レシピ zip の内容を github からクックブック フォルダーにコピーし、chef-solo コマンドを実行しました。結果は以下のとおりです。

致命的: Chef::Exceptions::CookbookNotFound: クックブック apt が見つかりません。別のクックブックから apt をロードしている場合は、必ずメタデータで依存関係を構成してください

私も Linux にかなり慣れていませんが、ここで何が間違っていますか?

4

4 に答える 4

9

を使用している場合は、正しいクックブックの場所を指してchef-soloいることを確認してください。solo.rb私はそれを次のように設定しました:

cookbook_path "/root/chef-repo/cookbooks"

それ以外の:

cookbook_path "/home/ubuntu/chef-repo/cookbooks"
于 2013-11-11T06:24:19.023 に答える
7

エラーはかなり説明的です。ファイルにあるクックブックがランリストにある可能性がありdepends aptますmetadata.rb

幸いなことに、これは簡単に解決できます。フォルダーにaptクックブック ( https://github.com/opscode-cookbooks/apt ) を含めて、cookbooksそれをランリスト (またはそのレベルに到達したときにロール) で呼び出すだけです。

于 2013-03-19T11:06:04.140 に答える
2

カリシュマは彼女の答えで正しいですが、絶対パスをスキップして拡張し、より動的にしたいと思います。これが私の実装です:

root = File.absolute_path(File.dirname(__FILE__))
file_cache_path root
cookbook_path root + '/cookbooks'

ファイルを配置する場所にパスを設定しsolo.rbます。

于 2014-03-03T15:02:05.423 に答える