Chef infra STDERR:命令行错误:没有这样的选项:--force yes

Chef infra STDERR:命令行错误:没有这样的选项:--force yes,chef-infra,chef-solo,Chef Infra,Chef Solo,我正试图通过Kitchen+Vagrant使用我的厨师烹饪书安装Java。操作系统是CentOS 7.3 因为Java版本导致我与filesystem-3.2-21.el7.x86_64发生了一些冲突,所以我决定强制安装 因此,我决定遵循下一个例子: 安装带有选项的软件包 package 'debian-archive-keyring' do action :install options '--force-yes' end 我将其转换为: package "bf-sun-java"

我正试图通过Kitchen+Vagrant使用我的厨师烹饪书安装Java。操作系统是CentOS 7.3

因为Java版本导致我与filesystem-3.2-21.el7.x86_64发生了一些冲突,所以我决定强制安装

因此,我决定遵循下一个例子:

安装带有选项的软件包

package 'debian-archive-keyring' do
  action :install
  options '--force-yes'
end
我将其转换为:

package "bf-sun-java" do
  version node['java_version']
  action :install
  options '--force-yes'
end
但我得到了以下错误:

STDERR:命令行错误:无此选项:-force yes

如果Chef不认识-force yes,为什么会在该示例中提到它?

选项-force yes是apt package manager的一个选项。软件包资源中的选项选项仅允许您传递操作系统软件包管理器理解的选项。例如,在Centos中,我可以编写options'-setopt=timeout=360',这是yum的一个选项,它可以工作

另外,看看在apt手册页中-force yes实际上做了什么


使用Chef安装和维护Java有时可能会很痛苦,因此我建议使用,这很有吸引力。

我认为选项值来自Chef包装器,而不是本机命令。现在,这是有道理的。@peterh,这就是为什么你否决了这个社区的一个问题?peterh否决了这个问题,因为他不喜欢我的用户名。他对此发表了评论,但随后他删除了他的评论。