我正在使用Puppet Agent for Windows 3.0版,我正在尝试使用 gem 提供程序以及以下资源
package { 'nokogiri':
ensure => '1.5.5',
provider => 'gem'
}
似乎当我执行 apply 命令时,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资源类型而不是包/ gem组合吗?
答案 0 :(得分:0)
当我有多个红宝石要安装时,我使用rvm(http://rvm.io)。它非常容易安装,可以处理环境,红宝石和宝石的设置。我建议明确设置你的ruby(1.9.3或1.8.7等)以及gemset和sourcing rvm以确保你的环境已经设置。