2013-07-02 75 views
1

我正在使用流浪漢和廚師。我有一個應該加載和配置nginx的配方。廚師未加載nginx

在我vagrantfile我:

chef.cookbooks_path = [ 'chef/cookbooks', 'chef/cookbooks-sources' ] 

在我chefFile:

cookbook 'nginx', 
    git: 'https://github.com/opscode-cookbooks/nginx.git' 

在我的食譜metadata.rb(在食譜來源):

depends "nginx" 

在我食譜我有:

include_recipe 'nginx' 

Cheffile.lock樣子:

DEPENDENCIES 
    apt (>= 0) 
    cassandra (>= 0) 
    curl (>= 0) 
    elasticsearch (>= 0) 
    java (>= 0) 
    java_extras (>= 0) 
    phantomjs (>= 0) 
    postgresql (>= 0) 
    python (>= 0) 
    redis (>= 0) 
    rvm (>= 0) 
    sbt-extras (>= 0) 
    windows (= 1.8.6) 

當我運行了流浪者或提供我得到如下結果:

[2013-07-02T20:21:40+00:00] FATAL: Chef::Exceptions::CookbookNotFound: Cookbook nginx not found. If you're loading nginx from another cookbook, make sure you configure the dependency in your metadata 

如何解決我的錯誤?

回答

-1

您是否正在使用Berkshelf等食譜管理員?如果沒有,你應該看看,它可以幫助你解決這個問題。 (我不熟悉廚師文件,也許這是一本食譜經理)。

解決此問題的一個(不太理想)選項是手動克隆nginx食譜庫回購,並將其放入chef/cookbookschef/cookbooks-sources,這將解決您的問題。

+0

Cheffile由圖書管理員廚師使用,它是berkshelf的替代工具。 –

1

Cheffile.lock沒有列出nginx的相關性,但許多人,所以有一些失蹤這裏...

你運行librarian-chef install(或update)將nginx的食譜後?你應該有目錄廚師/ cookbooks/nginx/

館員廚師也被默認爲./cookbooks/安裝,讓您的設置,你需要給它--path="chef/cookbooks"在第一時間(假設Cheffile是在同一目錄不是Vagrantfile)。

+0

+1還有一個非常有用的圖書管理員插件,可以自動運行安裝/更新。 –