红宝石错误木偶在CentOS 6

问题描述:

我已经安装上运行的CentOS 6红宝石错误木偶在CentOS 6

一切正常的机器都木偶大师和代理,直到那一刻我试图部署一个简单的示例模块部署模块时:我一个错误,在图片上解释。

试图修改该文件并没有帮助和文件是从仓库

每次

我试图运行这就造成了同样的错误

Error Screenshot

错误在不同的模块实际更新是因为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代码
    • 缺点:这是一个很大的维护成本,你就会有这样的更新发生到模块的上游都必须这样做。