我们分开使用Chef和Chocolatey已经有一段时间了,最近开始一起使用它们来轻松安装一些Windows软件包。
例如:
include_recipe 'chocolatey::default'
chocolatey_package 'git.install' do
action :install
end
chocolatey_package 'nuget.commandline' do
action :install
end
chocolatey_package 'docker-compose' do
action :install
version '1.21.2'
end
chocolatey_package 'gitlab-runner' do
action :install
version '11.0.0'
end这个方法已经奏效了,但现在我们已经得到了这些错误,而没有任何其他的改变:
* chocolatey_package[git.install] action install
- install version 2.18.0 of package git.install
* chocolatey_package[nuget.commandline] action install
- install version 4.8.1 of package nuget.commandline
* chocolatey_package[docker-compose] action install
- install version 1.21.2 of package docker-compose
* chocolatey_package[gitlab-runner] action install
* No candidate version available for gitlab-runner
================================================================================
Error executing action `install` on resource 'chocolatey_package[gitlab-runner]'
================================================================================
Chef::Exceptions::Package
-------------------------
No candidate version available for gitlab-runner注意成功的安装,然后是失败。
这最初发生在git包中,出于沮丧,我将其更改为git.install,这是有效的。但现在它才刚刚开始在gitlab-runner上发生。
有没有人看到过这种类型的失败,在这种情况下,它一天工作,第二天就不行了?我已经验证了这个包是否存在,我可以用choco install手动下载它。
我的下一个故障排除步骤可能是深入研究该资源;我知道在Linux平台上安装软件包时可能会出现错误消息,因此错误描述可能具有误导性……也就是说,chocolatey_package要么抛出了异常,要么处理程序对catch的操作过于泛化(使用.NET术语)。
发布于 2020-02-23 00:56:06
这是我遇到过的最烦人的问题之一。事实上,Chocolatey.org是非常不可靠的。但是,我可以在这个错误之后立即在命令行上直接安装,但是通过chocolatey_package chef资源,它几乎每次都会失败,并显示可怕的"No candidate version available“,而不管chocolatey.org的状态如何。希望厨师最终能让他们行动起来。同时,这里有一个已经在我身上工作了很长时间的变通方法。
choco source add -n=local -s"[PATH]" -u=[USERNAME] -p=[PASSWORD]然后转到chocolatey.org,找到您的包,将其下载到该位置,然后重新运行您的食谱。这非常有效,因为您不再像以前那样依赖外部资源,而且速度更快,但请记住,当新的包发布时,您很可能需要用最新的包刷新。
https://stackoverflow.com/questions/52296762
复制相似问题