我已經構建了一段來從我們的服務器中刪除ruby gem包。問題是ruby gem可執行文件安裝在服務器上的不同路徑中,所以在一臺服務器上,它可能位於/usr/local/rvm/rubies/ruby-2.0中的其他服務器上的/ opt/ruby/bin/gem中的3.0 P353 /斌/寶石Puppet:生成語句在嘗試檢索可執行文件的默認路徑時失敗
我節使用生成函數的傀儡拉出默認紅寶石寶石安裝如下:
$ruby_gem_location = generate('which', 'gem')
exec { "remove-remote_syslog":
command => "gem uninstall remote_syslog",
path => "$ruby_gem_location:/opt/ruby/bin:/usr/bin:/usr/sbin",
onlyif => "$ruby_gem_location list|grep remote_syslog"
}
當我運行木偶代理我得到以下錯誤:
發電機必須完全合格****編輯*
我也試圖爲這些命令提供了一個默認的路徑,如下所示:
$ruby_gem_location = generate('/usr/bin/which', 'gem')
現在的錯誤說:無法評價:找不到命令「在/ usr/bin中/寶石
我檢查目標服務器和寶石命令是在
/usr/local/rvm/rubies/ruby-2.0.0-p353/bin/gem
我做錯了什麼?
如何取出我們服務器上的默認ruby gem位置?
預先感謝您
你是通過獨立的Puppet還是master/agent運行? –