Назад | Перейти на главную страницу

Сообщение от приложения: невозможно загрузить такой файл - puppet / util / command_line (LoadError)

Я настроил марионетку с пассажиром (используя - https://docs.puppet.com/guides/passenger.html И http://www.olindata.com/blog/2014/09/setup-puppet-master-passenger-and-apache-centos ).

[root@a-puppet-03 ~]# puppet --version
4.4.2
[root@a-puppet-03 ~]# ruby --version
ruby 2.1.8p440 (2015-12-16 revision 53160) [x86_64-linux]
[root@a-puppet-03 ~]# passenger --version
Phusion Passenger 5.0.28
[root@a-puppet-03 ~]# cat /etc/centos-release
CentOS release 6.7 (Final)

Все в порядке до последнего шага, когда марионеточный агент запускается, возникает много ошибок. В основном LoadError.

> puppet agent -t
.
..

[ 2016-05-18 04:06:41.8270 19959/7f95efba2700 age/Cor/Con/CheckoutSession.cpp:285 ]: [Client 1-100] Cannot checkout session because a spawning error occurred. The identifier of the error is ba45fc42. Please see earlier logs for details about the error.
App 25759 stdout:
App 25759 stdout:
[ 2016-05-18 04:06:42.2164 19959/7f95ee7a0700 age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /usr/share/puppet/rack/puppetmasterd: An error occurred while starting up the preloader.
  Error ID: d1069d73
  Error details saved to: /tmp/passenger-error-SqIO1Z.html
  Message from application: cannot load such file -- puppet/util/command_line (LoadError)
  /usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  **config.ru:41:in `block in <main>'**
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
  /usr/local/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
  config.ru:1:in `new'
  config.ru:1:in `<main>'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.28/src/helper-scripts/rack-preloader.rb:110:in `eval'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.28/src/helper-scripts/rack-preloader.rb:110:in `preload_app'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.28/src/helper-scripts/rack-preloader.rb:156:in `<module:App>'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.28/src/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.28/src/helper-scripts/rack-preloader.rb:29:in `<main>'

Пожалуйста, может кто-нибудь помочь с этим .. заранее спасибо ..

использовать irb команда, после ввода $LOAD_PATH проверьте свой путь загрузки, похоже, у вас проблемы с версией, например ваша версия марионетки и версия Ruby несовместимы

# irb
irb(main):001:0> $LOAD_PATH
=> ["/usr/local/share/ruby/site_ruby", "/usr/local/lib64/ruby/site_ruby", "/usr/share/ruby/vendor_ruby", "/usr/lib64/ruby/vendor_ruby", "/usr/share/rubygems", "/usr/share/ruby", "/usr/lib64/ruby/"]

И убедитесь, что вы можете найти puppet/util/command_line в указанных выше местах пути.

# find / | grep "puppet/util/command_line"

Если результат дал find не включены в пути, тогда вы можете

  1. добавить вручную марионетка / util / command_line в $ LOAD_PATH;

  2. или установить другую версию ruby ​​или puppet.