STDERR: Command line error: no such option: --force-yes

STDERR: Command line error: no such option: --force-yes

我正在尝试通过 Kitchen + Vagrant[ 使用我的 Chef 食谱安装 Java =34=]。操作系统为CentOS 7.3.

因为Java版本导致我和filesystem-3.2-21.el7.x86_64有些冲突,所以决定强制安装

所以我决定遵循 official chef documentation 中的下一个示例:

Install a package with options

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: Command line error: no such option: --force-yes

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

选项 --force-yesapt 包管理器的一个选项。包资源中的 options 选项只允许您传递 OS 包管理器理解的选项。例如,在 Centos 中,我可以写 options '--setopt=timeout=360',这是 yum 的一个选项,它可以工作。

此外,看看 --force-yesapt 手册页中实际做了什么。

使用 Chef 安装和维护 Java 有时可能会很痛苦,所以我建议使用 Java cookbook,它非常有用。