2013-02-28 111 views
0

我想將cookbook路徑設置到某個地方,以便我不需要每次(在vagrant init之後)修改Vagrantfile 。vagrantfile食譜路徑

我發現Vagrantfile負載幾個地方,所以我決定把我的食譜路徑信息 在〜/ .vagrant.d/Vagrantfile,(這個文件是Vagrantfile加載順序的第3),如:

... 
    config.vm.provision :chef_solo do |chef| 
    chef.cookbooks_path = ["D:/lib/chef/cookbooks"] 
    chef.add_recipe "dev::default" 
    end 
... 

但是當我提出一個新的虛擬機,並修改Vagrantfile(該文件是Vagrantfile加載順序的第4次):

... 
    config.vm.provision :chef_solo do |chef| 
    chef.add_recipe "torch" 
    end 
... 

錯誤:

[2013-02-28T03:23:36+00:00] ERROR: Running exception handlers 
[2013-02-28T03:23:36+00:00] ERROR: Exception handlers complete 
[2013-02-28T03:23:36+00:00] FATAL: Stacktrace dumped to /tmp/vagrant-chef-1/chef-stacktrace.out 
[2013-02-28T03:23:36+00:00] FATAL: Chef::Exceptions::CookbookNotFound: Cookbook torch not found. If 
you're loading torch from another cookbook, make sure you configure the dependency in your metadata 
Chef never successfully completed! Any errors should be visible in the 
output above. Please fix your recipes so that they properly complete. 

但我確定具體的食譜是在我的食譜路徑下。

+0

我建議使用[圖書管理員 - 廚師](https://github.com/applicationsonline/librarian-chef)來管理你的食譜。 – allonhadaya 2013-04-22 07:49:42

+0

謝謝,我稍後再試 – HaveF 2013-04-22 11:36:45

回答

1

嘗試以下步驟: - 創建於vagrantfile目錄 文件夾食譜 - 結帳的食譜到這個目錄 - 以下內容添加到您的vagrantfile

chef.cookbooks_path = ["cookbooks"] 

希望能有幫助

+0

也許我沒有明確解釋我的問題。我將cookbooks_path添加到第三個加載位置(http://docs-v1.vagrantup.com/v1/docs/vagrantfile.html)(Vagrantfile加載順序部分)。並且不想在第4個加載位置再次添加... – HaveF 2013-04-22 11:40:53