0

この質問はRubyユーザーにとって簡単な質問だと確信しています。しかし、私にとってこれは私自身では理解できない問題です。

私の目標は、Ubuntu-10.4システムでPuppetアーカイブ(ext / nagios / check_puppet.rb)に含まれているスクリプトを使用することです。

スクリプトを起動しようとしています:

$ sudo ./check_puppet.rb
./check_puppet.rb:4:in `require': no such file to load -- sys/proctable (LoadError)
        from ./check_puppet.rb:4

さて、何か足りないものがあります。http://raa.ruby-lang.org/project/sys-proctable/で入手できるsys-proctableというライブラリが必要です。

wget http://rubyforge.org/frs/download.php/65609/sys-proctable-0.9.0-x86-linux.gem
[...]
sudo apt-get install rubygems
[...]
$ sudo gem install sys-proctable-0.9.0-x86-linux.gem
Successfully installed sys-proctable-0.9.0-x86-linux
1 gem installed
Installing ri documentation for sys-proctable-0.9.0-x86-linux...
Installing RDoc documentation for sys-proctable-0.9.0-x86-linux...

これまでのところ、すべてがかなり良さそうです!スクリプトを再度起動する時間

$ sudo ./check_puppet.rb
./check_puppet.rb:4:in `require': no such file to load -- sys/proctable (LoadError)
        from ./check_puppet.rb:4

gem list出力は私にこれを教えてくれます:

$ gem list

*** LOCAL GEMS ***

sys-proctable (0.9.0)
  • この宝石はどこに設置されていますか?
  • スクリプトがsys-proctablelibをロードできないのはなぜですか?
  • %&$ @は何を間違っていますか?
  • の公式ドキュメントはどこにありgemますか?
4

2 に答える 2

3

gemがインストールされていますが、Ruby 1.8では、次の行が必要です。

require 'rubygems'

rubygemsを使用します。これにより、「require」関数が変更され、要求されたときにRubygemsが取り込まれるようになります。

したがって、スクリプトでは:

https://github.com/puppetlabs/puppet/blob/master/ext/nagios/check_puppet.rb

上部の近くにrequireを追加して、再試行してください。

rubygemsを使用する他の方法の説明については、Rubygemsのドキュメントを参照してください。

http://docs.rubygems.org/read/chapter/3#page70

于 2011-11-21T14:00:58.933 に答える
0

これは私がcentos6.4で得ているものです

 sudo ./check_puppet.rb 
./check_puppet.rb:75:in `-': no implicit conversion to float from nil (TypeError)
    from ./check_puppet.rb:75:in `check_state'
    from ./check_puppet.rb:122

私はrequire'rubygems'を追加しました

およびインストールされたsys-proctable

于 2013-05-02T00:14:24.093 に答える