Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在puppet客户端安装后执行puppet-V时获取与ruby相关的错误_Ruby_Ubuntu_Puppet - Fatal编程技术网

在puppet客户端安装后执行puppet-V时获取与ruby相关的错误

在puppet客户端安装后执行puppet-V时获取与ruby相关的错误,ruby,ubuntu,puppet,Ruby,Ubuntu,Puppet,我正试图在ubuntu客户端上安装puppet。 我已经执行了以下步骤: cd /tmp wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb sudo dpkg -i puppetlabs-release-trusty.deb sudo apt-get update sudo apt-get install libcurl4-gnutls-dev libxml2 libxml2-dev libxslt1-dev ruby-d

我正试图在ubuntu客户端上安装puppet。 我已经执行了以下步骤:

cd /tmp
wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
sudo dpkg -i puppetlabs-release-trusty.deb
sudo apt-get update
sudo apt-get install libcurl4-gnutls-dev libxml2 libxml2-dev libxslt1-dev ruby-dev
echo "deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free" | sudo tee /etc/apt/sources.list.d/debian_stable.list
sudo apt-get update
sudo apt-get install libaugeas-ruby1.9.1 augeas-tools
sudo apt-get install puppet
我得到这个错误:

@ubuntu:~$ puppet -V
/usr/lib/ruby/vendor_ruby/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb:42:in `<top (required)>': uninitialized constant Syck (NameError)
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/vendor_ruby/puppet/vendor/safe_yaml/lib/safe_yaml.rb:197:in `<module:YAML>'
    from /usr/lib/ruby/vendor_ruby/puppet/vendor/safe_yaml/lib/safe_yaml.rb:132:in `<top (required)>'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/vendor_ruby/puppet/vendor/require_vendored.rb:4:in `<top (required)>'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/vendor_ruby/puppet/vendor.rb:40:in `require_libs'
    from /usr/lib/ruby/vendor_ruby/puppet/vendor.rb:53:in `load_vendored'
    from /usr/lib/ruby/vendor_ruby/puppet.rb:174:in `<module:Puppet>'
    from /usr/lib/ruby/vendor_ruby/puppet.rb:29:in `<top (required)>'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:12:in `<top (required)>'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/bin/puppet:7:in `<main>'
@ubuntu:~$puppet-V
/usr/lib/ruby/vendor\u ruby/puppet/vendor/safe\u yaml/lib/safe\u yaml/syck\u node\u monkeypatch.rb:42:in`':未初始化常量syck(NameError)
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
from/usr/lib/ruby/vendor\u ruby/puppet/vendor/safe\u yaml/lib/safe\u yaml.rb:197:in`'
from/usr/lib/ruby/vendor\u ruby/puppet/vendor/safe\u yaml/lib/safe\u yaml.rb:132:in`'
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
from/usr/lib/ruby/vendor\u ruby/puppet/vendor/require\u vendored.rb:4:in`'
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
from/usr/lib/ruby/vendor\u ruby/puppet/vendor.rb:40:in`require\u libs'
from/usr/lib/ruby/vendor\u ruby/puppet/vendor.rb:53:in'load\u vendored'
from/usr/lib/ruby/vendor\u ruby/puppet.rb:174:in`'
from/usr/lib/ruby/vendor\u ruby/puppet.rb:29:in`'
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
来自/usr/lib/ruby/vendor\u ruby/puppet/util/command\u line.rb:12:in`'
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
来自/usr/lib/ruby/2.3.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
from/usr/bin/puppet:7:in`'

如果我在这里漏掉了什么,我会很高兴地指出。

目前没有任何版本的Puppet支持Ruby 2.2+。即使是最新版本的Puppet(v4.8)也不支持2.2+:

系统要求

红宝石
使用以下版本之一的MRI(标准)Ruby:

2.1.x
2.0.x
1.9.3

注意:我们目前只使用2.1.x版本的Ruby进行测试和打包,因此建议您只使用此版本。我们的测试没有涵盖Ruby的其他解释器和版本

解决方案
降级到Ruby 2.1

替代解决方案
这里提出了一个解决YAML Syck/Psych问题的解决方案:

添加到文件:

gem 'safe_yaml', '~> 1.0.4'

目前没有任何版本的Puppet支持Ruby 2.2+。即使是最新版本的Puppet(v4.8)也不支持2.2+:

系统要求

红宝石
使用以下版本之一的MRI(标准)Ruby:

2.1.x
2.0.x
1.9.3

注意:我们目前只使用2.1.x版本的Ruby进行测试和打包,因此建议您只使用此版本。我们的测试没有涵盖Ruby的其他解释器和版本

解决方案
降级到Ruby 2.1

替代解决方案
这里提出了一个解决YAML Syck/Psych问题的解决方案:

添加到文件:

gem 'safe_yaml', '~> 1.0.4'

如何安装puppetlabs-release-trusty.deb v3.8版的puppet?我错过了任何命令吗?我不确定你现在安装的是哪个版本。我可能错了<代码>apt缓存策略傀儡可能会告诉你你有哪一个。你到底在运行哪一个操作系统?Ubuntu14.04没有Ruby2.3.0,所以你要么修改了它,要么就实际使用了16.04。(在这种情况下,请使用Xenial软件包,而不是Trusty)。如何安装puppetlabs-release-Trusty.deb v3.8版的puppet?我错过了任何命令吗?我不确定你现在安装的是哪个版本。我可能错了<代码>apt缓存策略傀儡可能会告诉你你有哪一个。你到底在运行哪一个操作系统?Ubuntu14.04没有Ruby2.3.0,所以你要么修改了它,要么就实际使用了16.04。(在这种情况下,请使用Xenial软件包,而不是Trusty)。该文档实际上是不正确的。他们测试1.9到2.3版本,他们的产品经理告诉我,即使在最新版本中,他们在技术上仍然支持1.9。然而,上次我检查时,他们并没有正式支持2.3,尽管我一直在使用2.3版本的Puppet,而且效果很好。他们所有的单元测试和验收测试都通过了2.2和2.3。因此,这很可能不是问题的真正解决办法。更清楚地显示了测试矩阵。@MattSchuchard OP提供的信息太少,无法真正确定问题的根源,但Syck/Psych YAML问题是Ruby版本控制的问题,因为YAML库在某个时候用Ruby进行了更改。Puppet上的罚单也有同样的错误:如果需要的话,你可以自己修补代码。OP中的错误与傀儡票中的错误完全相同。应该引用@DominicCleal posted链接,因为它更准确,并且与Kylo告诉我的内容同步。我收到了这个错误:
ubuntu:~$rvm install rubygems 1.4.2 system-#下载rubygems-1.4.2-:--0警告:无法创建文件rubygems-1.4.2.tgz.part:权限被拒绝0 287k 0 1370 0 0 1007 0:04:52 0:00:01 0:04:51 4581 curl:(23)写入正文失败(0!=1370)出现错误(23)。下载失败尝试获取rubygems时出错。正在停止安装。
该文档实际上不正确。他们测试1.9到2.3版本,他们的产品经理告诉我,即使在最新版本中,他们在技术上仍然支持1.9。然而,上次我检查时,他们并没有正式支持2.3,尽管我一直在使用2.3版本的Puppet,而且效果很好。他们所有的单元测试和验收测试都通过了2.2和2.3。因此,t