我正在尝试使用厨师中的包管理器并安装nginx服务器,但每次我在客户端上运行烹饪书时,它只是说
Recipe: nginx::default
* yum_package [nginx] action install [2017-03-11T06:16:01-05:00] INFO:处理yum_package [nginx]动作安装(nginx ::默认行11)
* No candidate version available for nginx
================================================================================
Error executing action `install` on resource 'yum_package[nginx]'
================================================================================
Chef::Exceptions::Package
-------------------------
No candidate version available for nginx
Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/nginx/recipes/default.rb
11: package "nginx" do
12: action :install
13: end
14:
Compiled Resource:
------------------
# Declared in /var/chef/cache/cookbooks/nginx/recipes/default.rb:11:in `from_file'
yum_package("nginx") do
package_name "nginx"
action [:install]
retries 0
retry_delay 2
default_guard_interpreter :default
declared_type :package
cookbook_name "nginx"
recipe_name "default"
flush_cache {:before=>false, :after=>false}
end
Platform:
---------
x86_64-linux
[2017-03-11T06:16:29-05:00]信息:在重新提出异常之前运行排队延迟通知
运行处理程序: [2017-03-11T06:16:29-05:00]错误:运行异常处理程序 运行处理程序完成 [2017-03-11T06:16:29-05:00]错误:异常处理程序完成 厨师客户失败了。 1资源在05分44秒内更新
甚至我试图安装epel-release软件包但被拒绝了类似的错误。
知道如何使用CHEF配方安装nginx。
我也试过使用yum_package,但没有运气安装
yum_package "nginx" do
action :install
end
由于
答案 0 :(得分:0)
这意味着您的存储库中没有名为nginx
的包。如果您登录要配置的计算机(例如,使用kitchen login
),则可以尝试搜索包nginx。
如果它不在您的存储库中,安装它的最佳方法是将nginx´s official repo添加到Chef存储库资源(如Centos的yum_repository)或使用Chef资源remote_file
下载tarball。
如果您选择最后一个选项,请确保生成您下载的tarball的sha256并将其添加到remote_file
资源中,以防止Chef每次运行该文件时阻止其下载。
- 编辑 -
正如Szymon所说,您也可以使用Nginx食谱,不要写任何特殊食谱。
答案 1 :(得分:0)
与discussed here一样,您可以使用NGINX官方厨师食谱,也可以在安装NGINX之前先安装epel-release
:
if platform_family?('rhel')
package 'epel-release'
end
if platform_family?('debian')
apt_update 'update'
end
package 'nginx'