我在Windows(离线)中以本地模式运行厨师。这与菜谱的依赖关系' windows'所以,metadata.rb文件有一行
- depends "windows".
所以我下载了食谱并将其保存在本地服务器的D盘中,并在Berkfile中添加了以下行
source "file:///D:/chef/"
"cookbook 'windows',path:'D:\chef\windows'
此后,当" berks安装"执行时,它执行以下操作
Fetching 'ckbk' from source at .
Fetching 'windows' from source at ../windows
Fetching cookbook index from file:///D:/chef/...
berks : C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20-universal-mingw32/lib/chef/http/http_request.rb:147:in `build_headers': undefined method
`<<' for nil:NilClass (NoMethodError)
如何在Windows中脱机解决依赖关系?
Chef Development Kit版本:2.1.11
chef-client版本:13.2.20
答案 0 :(得分:1)
我只是勉强做出问题的正面或反面,但你的source
行是错误的。这必须指向Berkshelf支持的一种事物,而不是文件URI。你想要的是这个:
source chef_repo: 'D:/chef'
这将寻找子文件夹中的烹饪书。有了它,你根本不需要cookbook
行,它会根据需要找到这本食谱。