我正在使用Chef为ELK堆栈创建一个自定义的食谱。
我在Chef超市找到了一本ELK堆栈食谱,我试图使用Berkshelf将其作为依赖项下载。
我的Berksfile
包含:
source 'https://supermarket.chef.io'
metadata
cookbook 'elkstack', '~> 6.0.4'
metadata.rb
:
name 'myelkstack'
maintainer 'YOUR_COMPANY_NAME'
maintainer_email 'YOUR_EMAIL'
license 'All rights reserved'
description 'Installs/Configures cmselkstack'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '0.1.0'
depends 'elkstack'
我打算在本地运行这本食谱,所以我使用berks vendor
代替berks install
。当我运行berks vendor
时,我希望下载依赖项,但它会挂起:
$ berks vendor /home/pviana/berks
Resolving cookbook dependencies...
Fetching 'cmselk' from source at .
Fetching cookbook index from https://supermarket.chef.io...
但是,如果我运行knife cookbook site download elkstack
,它会完美运行并下载v6.0.4。此外,如果我将食谱从elkstack
更改为另一本食谱(以及相应的版本),该命令将起作用并下载所有依赖项。
我有可能错过一些东西吗?
感谢。
答案 0 :(得分:0)
我尝试构建的食谱非常复杂(elkstack),并要求用户在运行Berksfile
之前手动编辑berks vendor
。除非仔细计算出依赖关系,否则默认情况下会出现这种挂起行为。