Chef + Chocolatey-“(包装)没有候选版本”

问题描述 投票:1回答:1

我们已经分开使用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抛出异常,或者处理程序的捕获过于笼统(使用.NET术语) 。

chef chocolatey
1个回答
0
投票

这是我所面临的最烦人的问题之一。 Chocolatey.org确实非常不可靠。但是,我可以在发生此错误后立即直接在命令行上进行安装,但是通过Chocolatey_package厨师资源,无论是否Chocolatey.org处于何种状态,它每次都会因令人恐惧的“没有可用的候选版本”而失败。希望厨师最终能一起行动。同时,这是一种对我有效的解决方法。

choco source add -n=local -s"[PATH]" -u=[USERNAME] -p=[PASSWORD]

然后转到Chocolatey.org,找到您的软件包,将其下载到该位置,然后重新运行您的食谱。这非常有效,因为您不再那么依赖外部资源,而且速度更快,但是请记住,当发布新软件包时,您很有可能需要使用最新软件包进行刷新。

© www.soinside.com 2019 - 2024. All rights reserved.