gpt4 book ai didi

dependencies - 解决 chef-solo Recipe 依赖关系

转载 作者:行者123 更新时间:2023-12-01 13:45:54 25 4
gpt4 key购买 nike

我正在尝试在我的工作站上单独运行 chef 以在本地应用一些设置。我的 Recipe 取决于我在 metadata.rb 和 Berksfile 中指定的几本外部 Recipe 。 chef-client 运行失败并显示以下错误消息。

请问有没有办法在chef-solo运行的时候自动下载依赖?

user@ubuntu:~/chef-solo$ chef-solo -c solo.rb -j solo.json

Starting Chef Client, version 12.8.1
Installing Cookbook Gems:
Compiling Cookbooks...

Running handlers:
[2016-03-28T16:32:36+00:00] ERROR: Running exception handlers
Running handlers complete
[2016-03-28T16:32:36+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 03 seconds
[2016-03-28T16:32:36+00:00] FATAL: Stacktrace dumped to /home/user/chef-solo/chef-stacktrace.out
[2016-03-28T16:32:36+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2016-03-28T16:32:36+00:00] ERROR: Cookbook apt not found. If you're loading apt from another cookbook, make sure you configure the dependency in your metadata

solo .rb

root = File.absolute_path(File.dirname(__FILE__))
file_cache_path root
cookbook_path root + '/cookbooks'

solo .json

{
"run_list": [ "recipe[test::default]" ]
}

伯克斯文件

source 'https://supermarket.chef.io'

cookbook 'apt'
metadata

元数据.rb

name 'test'
maintainer 'The Authors'
maintainer_email 'you@example.com'
license 'all_rights'
description 'Installs/Configures test'
long_description 'Installs/Configures test'
version '0.1.0'

depends 'apt'

最佳答案

Berkshelf 是 Chef 世界中一个流行的工具,用于自动安装 cookbook 依赖项(您提到的 Berksfile 与此相关)。如果尚未安装,请安装 berkshelf。

$ gem install berkshelf

注意在你的 solo.rb 文件中说的那一行......

cookbook_path root + '/cookbooks'

...这就是 Chef 希望您放置依赖项的位置。如果没有 Berkshelf,您将需要使用 knife 将 apt 安装到该 cookbooks 文件夹中。 (注意:cookbooks/必须是一个 git 仓库...)

$ knife cookbook site install apt

但由于您有 Berksfile,您可能希望在 Berksfile 所在的同一文件夹中使用以下命令...

$ berks vendor ../

这将在父目录中安装当前文件夹的依赖项。您可能需要根据根 cookbooks 文件夹的位置指定不同的位置。

您可能还想知道为什么必须指定两次依赖项,一次在您的 Berksfile 中,一次在您的 metadata.rb 文件中。我也是;)

关于dependencies - 解决 chef-solo Recipe 依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36266924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com