0

Windows でchef-client を実行していますが、たまたま、Chef-Client に埋め込まれた Ruby ディストリビューション (1.9.3) がシステム全体で利用可能です。シェフクライアントを適切に機能させるには、これが必要だと思いますか? 別の Ruby ディストリビューション (v2.0) をインストールしようとしましたが、Chef-Client が壊れているようです。

私が達成したいと思っていたのは、v2.0 に対して書かれた Ruby アプリをchef-client にインストールして構成させることです。これにより、そのアプリを v2 で実行できますが、chef-client は組み込みの Ruby ディストリビューションを引き続き使用できます。

それは不可能でしょうか?

4

2 に答える 2

0

ruby ディストリビューションを指定するには、「gem_binary」属性を使用します。

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

ドキュメントでは、パラメータを次のように説明しています。

gem_binary : gems バイナリを指定するために使用される gem_package プロバイダーの属性。この属性は、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 に答える