1

我正在使用 Puppet Agent for Windows 3.0 版,并且我试图将gem提供程序与以下资源一起使用

package { 'nokogiri':
    ensure => '1.5.5',
    provider => 'gem'
}

似乎当我执行应用命令时,gem 安装在 ruby​​ 1.8.7 目录中,该目录捆绑在 Windows 的 puppet 客户端安装程序中。

我正在尝试在 Windows 上安装 Ruby 1.9.3 作为单独的包,可用于其他目的。

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']
}

}

我应该在 Windows 上使用 Exec 资源类型而不是 package/gem 组合吗?

4

1 回答 1

0

当我要安装多个 rubies 时,我使用 rvm (http://rvm.io)。它非常容易安装并处理设置您的环境、红宝石和宝石集。我建议明确设置您的 ruby​​(1.9.3 或 1.8.7 等)和 gemset 并采购 rvm 以确保设置您的环境。

于 2012-10-16T13:34:00.640 回答