2017-02-12 49 views
0

我已经安装了Puppet的官方文档,我已经安装了Ruby 1.8.7。Puppet与Apache集成,但无法启动,因为红宝石

但是通过rvm我已经安装了ruby 2.3.3,然后安装了机架和乘客宝石gem install rack passenger并成功安装passenger-install-apache2-module

我对puppetmaster.conf进行了相应的修改,并将其放在httpd服务的conf.d目录中。

启动httpd服务我已经给出puppet cert及以下的错误及其表现后

[[email protected] puppet-fundamentals-puppetmaster]# puppet cert 
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- json (L 
oadError) 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/module.rb:3 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/parser/files.rb:1 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/parser/templatewrapper.rb:1 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/parser/scope.rb:6 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/parser/methods.rb:2 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/method_call.rb:2 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:115 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/parser/parser.rb:11 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/parser.rb:4 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet.rb:282 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:12 
     from /usr/bin/puppet:7:in `require' 

我不明白为什么木偶还在找了红宝石1.8甚至我曾提到在puppetmaster.conf

 PassengerRoot /usr/local/rvm/gems/ruby-2.3.3/gems/passenger-5.1.2 
    PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.3.3/wrappers/ruby 

有没有什么办法可以告诉Puppet查看ruby-2.3.3作为默认ruby的所有需求?

[[email protected] ~]# puppet --version 
3.8.7 
[[email protected] ~]# 

[[email protected] ~]# ruby -v              
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]     

[[email protected] ~]# rvm all ruby list            

rvm rubies                 

=* ruby-2.3.3 [ x86_64 ]    

谢谢。

+0

我不相信木偶3.8.7支持Ruby 2.3,甚至2.2红宝石。尝试升级到支持/非过时版本的Puppet。 –

+0

@MattSchuchard谢谢 –

+0

实际上我可以在这里提出其他一些事情,但据我记得Puppet 3.x针对Ruby 1.9,也许2.0,并且不太可能2.1。 –

回答

0

尝试的PassengerRuby代替PassengerDefaultRuby