2013-10-18 32 views
5

我想配置使用Chef-solo,Berkshelf和vagrant-berkshelf插件的流浪者機器。然而,供應失敗,此錯誤:Berkshelf食譜不會被複制到流浪者目錄

Berkshelf::CookbookNotFound: Cookbook <cookbook name> not found in any of the default locations

berks install成功安裝一切~/.berkshelf/cookbooks/,但菜譜永遠不會複製到~./berkshelf/default/vagrant/berkshelf-20131017-8441-pqghfq-default這也正是Berkshelf報告它正在更新,跟蹤前右:

[Berkshelf] Updating Vagrant's berkshelf: '/Users/<me>/.berkshelf/default/vagrant/berkshelf-20131017-8441-pqghfq-default'

所以,我想我的問題是:

  1. 誰負責將食譜複製到特定的Vagrant文​​件夾(Berkshelf,vagrant-berkshelf插件或Vagrant)?我今天晚上瀏覽了每個回購的來源,但還沒有能夠確定這個應該發生的地方。
  2. 有沒有更多信息可以幫助回答問題#1? :)

環境說明:

的Mac OSX 10.8 紅寶石1.9.3

vagrant -v: 1.3.5

berks -v : Berkshelf (2.0.10)

$: vagrant plugin list

buff-config (0.2.0)

mini_portile (0.5.1)

nugrant (1.1.0)

vagrant-berkshelf (1.3.4)

vagrant-cachier (0.1.0)

vagrant-omnibus (1.1.1)

vagrant-rackspace (0.1.3)

回答

7

Who is responsibile for copying the cookbooks to the specific Vagrant folder (Berkshelf, the vagrant-berkshelf plugin, or Vagrant)?

從A列一點點,從B柱,這兩者從列得到一些幫助,一點點C.

流浪chef-solo provisioner具有複製食譜的能力(+角色/數據包/等)從主機到客人。它通過在主機上創建一個目錄然後將該目錄掛載到VM中來完成。

vagrant-berkshelf插件首先creates a directory on the host然後使用vanilla Berkshelf功能export所有相關的食譜到這個目錄。

最後,vagrant-berkshelf插件告訴Chef-Solo提供者將use the directory it has created作爲應該複製到客人的食譜的來源。

+0

謝謝Jared。始終讚賞源的鏈接。 – kries

+0

@Jared感謝您的信息。 Chef-Solo在客人身上掛載的目錄以及它包含食譜的位置在哪裏?它是否在每次運行後安裝並卸載? – Seperman

+2

我很疑惑這個問題是如何解決的。我在這裏看到同樣的問題,不知道如何解決它。 –

3

我有一個類似的問題,試圖提供一個流浪箱。我以下面的方式解決了我的問題。

在Berksfile,添加以下

'cookbook-name', path: "<path to cookbook>" 

通常是「食譜/食譜名」

Berksfile當時能找到的食譜,並把它複製到berksfile的位置,這哪裏是chef-獨奏期待找到食譜。我希望它有幫助。

相關問題