2012-11-28 212 views
3

我從廚師社區下載的菜譜「OC-Java的主人」,現在我想用我已經安裝了Windows服務器上的廚師,單獨運行它2008年食譜:廚師獨奏

經過大量的谷歌搜索和stackoverflow支持後,我能夠獲取JSON文件,它定義了運行列表。但是最近4-5小時,下面的錯誤讓我感到困擾,而我完全無能爲力。

[2012-11-28T11:33:28 + 00:00] FATAL:Chef :: Exceptions :: CookbookNotFound:Cookbook java not found。如果你從另一本食譜中加載java,請確保你在你的元數據中配置依賴關係

如果任何人都可以看看食譜,並建議我一些解決方案,我會感激你。 食譜的URL是here

回答

4

有幾件事。

隨着廚師梭羅,你必須先告訴它更多的信息,所以它找到食譜。

  1. 它需要知道什麼運行列表(和節點屬性,如果有的話)用於運行。這是通過-j選項傳遞的「json文件」。

  2. 它需要知道食譜的路徑。您可以使用-r選項從遠程tarball下載它們,並讓它處理剩下的內容,或者您​​必須編寫一個具有cookbook_path值的配置文件,並解除要在該目錄中使用的食譜。這是默認的c:\var\chef\cookbooks

此外,Opscode Chef Community Site不同於GitHub上的「Cookbooks」組織。

Opscode's Java cookbook在Windows上不起作用。你需要編寫自己的或找到另一個。

最後,廚師mailing listsIRC channels是快速獲得廚師幫助的最佳方式。

+0

作爲@jtimberman告訴的人(2)創建一個cookbook_path在任何配置文件(solo.rb)中。有一點需要注意,在指定路徑時使用'\\'而不是'\'。例如:cookbook_path「G:\\ stutzen \\ chef \\ chef-solo-eg \\ cookbooks \\」 – arvindwill

3

您需要在metadata.rb文件中添加一行。 取決於 「cookbookname」 的OC-Java的主人您的問題 轉到元數據文件,並寫入

依賴的 「java」

請確認食譜Java是目前進入你的食譜路徑

0
  1. 廚師希望有一個配置文件,但會接受命令行上的選項, 代替配置文件。
  2. ,預計配置文件駐留在的/ etc /廚師

或給自己solo.rb文件

chef-solo --config ~/.chef/solo.rb --override-runlist 'recipe[your-app]' 

其中獨奏。RB具有內容:

cookbook_path ENV['HOME'] 
1

在我來說,我是用流浪與chef_solo提供商。看起來,目標廚師節點上的文件夾/ tmp/vagrant-chef/a0544031e745d8ec23aa205c03bf9231(在我的例子中是一個流浪者管理的虛擬機)是這個提供者緩存食譜的地方。由於某些原因,該文件夾是空的,導致chef_solo找不到任何食譜。也許它是空的,因爲我打斷了執行(只有猜測)。

我完全刪除了/ tmp/vagrant-chef,然後做了「vagran reoad」,然後是「vagrant provision」命令。這創建了/ tmp/vagrant-chef/a0544031e745d8ec23aa205c03bf9231/cookbooks樹的一個新副本,並且這次所有的工作都很好,我不再有「Cookbook not found」