2017-07-15 74 views
0

我已經安裝上運行的CentOS 6紅寶石錯誤木偶在CentOS 6

一切正常的機器都木偶大師和代理,直到那一刻我試圖部署一個簡單的示例模塊部署模塊時:我一個錯誤,在圖片上解釋。

試圖修改該文件並沒有幫助和文件是從倉庫

每次

我試圖運行這就造成了同樣的錯誤

Error Screenshot

回答

0

錯誤在不同的模塊實際更新是因爲Ruby代碼的格式不適用於較舊的Ruby。 CentOS 6上游Ruby包是1.8.7,這是一個超級老的Ruby版本,並且已經爲EOL 3 years since 2014

爲了解決這個問題,Puppet開始將Ruby和其他依賴作爲all-in-one package since Puppet 4的一部分進行打包。這意味着在EOL Ruby,OpenSSL和其他任何依賴關係方面,不存在依賴性:它們都作爲單個RPM捆綁並支持,而不會影響系統軟件包。

這也意味着你不會破壞任何需要不同系統Ruby的應用程序,並且通常使得使用Puppet變得更容易。

除此之外,CentOS中的Puppet版本是3.X,which is also EOL。你應該升級到木偶4.這裏是一個將在CentOS 6安裝木偶4劑包一個方便的腳本:https://github.com/petems/puppet-install-shell

如果您限於使用木偶3無論出於何種原因,也有一些不太理想的解決方案:

  • 下載一個新的Ruby RPM爲CentOS 6,(如this Github repo)或CloudPackage.io回購(如這一個我在CentOS 6紅寶石包https://packagecloud.io/petems/ruby2/install製造)
    • 缺點:這些rpm不正式支持,並可能有無意的問題
  • 叉模塊改變Ruby代碼
    • 缺點:這是一個很大的維護成本,你就會有這樣的更新發生到模塊的上游都必須這樣做。