2011-11-06 71 views
5

如何解決此錯誤?我在運行chef-solo時遇到了一個非常簡單的node.json和配置文件,即使我沒有使用Windows。廚師錯誤:「LoadError:no file to load - win32/open3」

$ chef-solo -c solo.rb -j node.json 
... 
[Sun, 06 Nov 2011 13:21:03 +0000] FATAL: LoadError: no such file to load -- win32/open3 

solo.rb是:

file_cache_path "/usr/local/var/chef-solo" 
cookbook_path "/home/mjs/workspace/cookbooks" 

node.json是:

{ "run_list": [ "recipe[greeting]" ] } 

回答

8

Opscode建議您而不是克隆整個cookbooks資料庫(出於這個原因和其他),而是從廚師社區網站下載您需要的食譜。

主要是,該存儲庫正在開發中,並且個別食譜在社區網站上發佈。此外,並非所有的食譜都針對Chef Solo進行了優化,甚至與之合作。食譜庫中最新的README.md也應該使這一點變得非常清楚。

http://wiki.opscode.com/display/chef/Cookbooks http://www.opscode.com/blog/2011/05/05/future-of-opscode-cookbooks/ http://community.opscode.com/

3

在我而言,這是由包含所有Opscode公司的食譜/home/mjs/workspace/cookbooks造成的。 (即,我克隆了他們的回購,並且正在添加一本新的食譜)。儘管運行列表僅指定了我的食譜,但廚師似乎正在爲目錄中的其他食譜做些事情,其中​​至少有一個假定某些Windows-相關的寶石已安裝。

1

廚師載荷菜譜路徑中的所有食譜,和用途run_list上列出的配方。 由於廚師獨奏正在加載路徑中的所有烹飪書,而不僅僅是下載的菜譜,比如廚師 - 客戶端,它大部分時間都會加載(比如,包含ruby腳本),而您沒有意味着它加載。

對我來說,它發生在Windows的食譜,當我測試一些配方與流浪漢。 我剛剛註釋掉了require線,作爲解決方法。

對於廚師獨奏測試食譜,我舉幾個提交,避免這些問題的git分支。由於這些提交通常很小,並且與我正在測試的食譜無關,但只是爲了確保廚師獨奏正在運行,這足以解決此類問題。