2013-03-19 7 views
6

Hy Amazon EC2 Linux AMIでシェフ・ソロとMongoDBレシピを実行しようとしています。 私はOmnibusをインストールし、.rbファイルにcookbookパスを設定し、.jsonファイルにrunlistを設定しました。 mongodb recipe zipの内容をgithubからcookbookフォルダにコピーし、chef-soloコマンドを実行しました。 結果は次のとおりです。シェフ・ソロ・エラー:クックブックが見つかりません

致命的:Chef ::例外:: CookbookNotFound:Cookbook apt not found。別の料理本からaptを読み込んでいる場合は、メタデータの依存関係を設定することを確かめてください。

私はLinuxにも慣れていません。私はここで間違っていますか?

答えて

7

エラーはかなり説明的です。あなたの実行リストには、ファイルにdepends aptという料理名簿があります。

幸いにも、解決するには、この簡単には - ちょうどあなたのcookbooksフォルダにapt料理(https://github.com/opscode-cookbooks/apt)を含めると、(あなたがそのレベルに到達したとき、またはロール)あなたのrunlistでそれを呼び出します。

+0

私のローカルのUbuntuでもうまく動作しましたが、Amazon EC2ではまだ動作しません。それは適切ではないので私は推測しています。 エラーの1つ: エラー:実行[apt-get-update](apt :: default line 22)にエラーがありました:そのようなファイルまたはディレクトリはありません - apt-get update; ignore_failureが設定されていて、続行しています それは大したことではないと推測しています。 パッケージ[update-notifier-common]アクションインストール *バージョンが指定されておらず、update-notifier-commonの候補バージョンがありません apt cookbookのreadmeは赤いですが、何かが特定する必要があると言っている。 – Csapi007

+0

はエラー、ええ、私はMongoDBのレシピをそのようにインストールしようとした – cmur2

+0

(MongoDBのは、あまりにもEC2上で必要な場合にのみ存在料理を持っている)EC2には傾向がないように、そこにあなたのrunlistにそれを置くべきではないルックスメッセージ私が得るもの: - 理由はランで、runlistからデフォルトのレシピをない奇妙である - *パッケージ[モンゴ-10gen-サーバー]アクションがバージョンが指定されていません* をインストールしていない、とのmongo-10gen・サーバーに対して使用可能な候補版10genのもの。これは私の以前の問題と関係がありますか、まったく違うのですか? :S – Csapi007

10

chef-soloを使用している場合は、solo.rbが正しい料理ブックの場所を指していることを確認してください。代わりの

cookbook_path "/root/chef-repo/cookbooks" 

:私はそれを設定していた

cookbook_path "/home/ubuntu/chef-repo/cookbooks" 
2

私はそれを拡張し、絶対パスをスキップして、それはよりダイナミックにしたいと思いますけれどもカリシュマは、正しいin her answerです。

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

それはあなたがsolo.rbファイルを置くとするパスを設定します。ここに私の実装です。

2

最初にlibrarian-chef installを実行するのを忘れてしまったので、これが私に起こりました!

関連する問題