gpt4 book ai didi

chef-infra - 如何让 yum_package 资源在 chef_gem 包之前运行?

转载 作者:行者123 更新时间:2023-12-02 08:36:14 24 4
gpt4 key购买 nike

我正在编写一个使用 ruby​​_libvirt 的 Recipe ,它需要 libvirt-devel。

所以我需要 yum_package libvirt-devel 在 chef_gem ruby​​_libvirt 之前运行。

我把 yum_package 放在 chef_gem 的 head 的 recipe 里,在 role runlist 里。
我希望这会迫使这个问题。

chef_gem 似乎被提前评估了。

最佳答案

因为 chef_gemcompile 阶段安装 ruby​​ gems,你也应该让 yum_package 在这个阶段运行。

yum_package 'libvirt-devel' do
action :nothing
end.run_action :install

chef_gem 'ruby_libvirt'
但是,

chef_gem 资源应该只在 Chef 需要安装一些 gem 的情况下使用(例如,当它在 Recipe 中进一步使用它时)。如果您只需要安装一个 gem,请使用 gem_package 资源。它像任何其他资源一样在执行阶段进行评估。

yum_package 'libvirt-devel'
gem_package 'ruby_libvirt'

More on compile and execution phases of Chef-run .

关于chef-infra - 如何让 yum_package 资源在 chef_gem 包之前运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21198607/

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