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

时间:2018-09-12 13:48:35

标签: chef chocolatey

一段时间以来,我们一直在分别使用Chef和Chocolatey,最近开始一起使用它们来轻松安装一些Windows软件包。

例如:

//  Since these id's contain letters as well, they need to be strings.
const data = [
  {
    _id: "5366e9049cfc825b32966852",
    companies:[
      "5ab20bb69cb2754e949a09dc",
      "5ac5d53983d45353bc6a9c54",
      "5ac62eeca5421e4cb9abf63e"
    ]
  },
  {
    _id: "5b9251f8ae8db624755f4b90",
   companies:[
    "5b461c892bb9c81bd3ed4a25",
    "5b5086196947782fbc873d28",
    "5b76a6c79dc71a4a12564cc5"
    ]
  }
];

const companies = data.reduce(( result, item ) => result.concat( item.companies ), []);

console.log( companies );

该食谱有效,但现在我们已经得到了这些错误,而没有进行任何其他更改:

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手动将其下拉。

我的下一个故障排除步骤可能是挖掘该资源。我知道在Linux平台上进行软件包安装时可能会发生错误消息,因此错误描述可能会引起误解...即choco install抛出异常或处理程序执行的操作过于笼统(无法使用.NET)条款)。

1 个答案:

答案 0 :(得分:0)

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

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

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