1

私は 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 リソース タイプを使用する必要がありますか?

4

1 に答える 1

0

複数の ruby​​ をインストールする場合は、rvm (http://rvm.io) を使用します。非常に簡単にインストールでき、環境、ルビー、gemset のセットアップを処理します。ルビー (1.9.3 または 1.8.7 など) と gemset を明示的に設定し、rvm を調達して、環境が確実に設定されるようにすることをお勧めします。

于 2012-10-16T13:34:00.640 に答える