私は Puppet Agent for Windows バージョン 3.0 を使用しており、次のリソースでgemプロバイダーも使用しようとしていました。
package { 'nokogiri':
ensure => '1.5.5',
provider => 'gem'
}
applyコマンドを実行すると、gem が ruby 1.8.7 ディレクトリにインストールされ、Windows 用の puppet クライアント インストーラーにバンドルされているようです。
Ruby 1.9.3 を別のパッケージとして Windows にインストールしようとしています。このパッケージは他の目的で使用できます。
class ruby{
file {'ruby':
name => 'C:\Temp\rubyinstaller-1.9.3-p194.exe',
ensure => present,
source => 'V:\shardata\Puppet\rubyinstaller-1.9.3-p194.exe'
}
exec { 'ruby':
command => 'C:\Temp\rubyinstaller-1.9.3-p194.exe /verysilent /dir="C:\ruby" /tasks="assocfiles,modpath"',
require => File["ruby"]
}
package { 'nokogiri':
ensure => 'latest',
provider => 'gem',
require => Exec['ruby']
}
}
パッケージ/gem の組み合わせではなく、Windows で Exec リソース タイプを使用する必要がありますか?