0

我在 Windows 上运行 chef-client,碰巧嵌入在 Chef-Client 中的 Ruby 发行版 (1.9.3) 在系统范围内可用。我相信这是必要的,以使厨师客户功能正常?我曾尝试安装另一个 Ruby 发行版(即 v2.0),但这似乎破坏了 Chef-Client。

我希望实现的是让 chef-client 安装和配置一个针对 v2.0 编写的 Ruby 应用程序,以便我可以使用 v2 运行该应用程序,但让 chef-client 继续使用嵌入式 Ruby 发行版。

那不可能吗?

4

2 回答 2

0

使用“gem_binary”属性指定 ruby​​ 发行版:

gem_package "somegem" do
  gem_binary "/usr/bin/gem"
  action :install
end

文档对参数的描述如下:

gem_binary:gem_package 提供程序的属性,用于指定 gems 二进制文件。在 Ruby 1.8 中运行时安装 Ruby 1.9 gem 时,此属性很有用。默认情况下,将安装 chef-client 使用的相同版本的 Ruby。

于 2013-10-22T20:17:22.193 回答
0

当然,这就是 Opscode 使用他们的Omnibus 包的原因,它提供了运行 Chef 所需的一切。

于 2013-10-22T16:44:03.770 回答