2016-04-14 11 views
1

import.rbを使用してベンダーのMIBをインポートしようとしました。このファイルを読み込めません - ruby​​gems/defaults/ruby​​ error?

mibという名前のディレクトリに.mibファイルを置きました。

/snmp-1.2.0# lsが

cpq54nn.mib cpqdmii.mib CPQHOST.MIB cpql2mgt.mib CPQRACK.MIB cpqservice.mib CPQSTSYS.MIB を./mib/ ...... 。

OSがインストールさlibsmiパッケージを持っています

libsmi2-dev install

libsmi2ldbl:amd64 install

/usr/lib/ruby/2.1.0/rubygems.rb:1203で、

snmp-1.2.0$ ruby -d import.rb mibs/ 

例外とLoadErrorは」次のように私はERRのMSGを得た - そのようなファイルをロードすることはできません - RubyGemsの/ defaults/ruby​​ ExceptionNameError at /usr/lib/ruby/2.1.0/psych/class_loader.rb:67 - 未初期化定数BigDecimal Exception NameError at /usr/lib/ruby/2.1.0/psych/class_loader.rb :67 - 未初期化定数DateTime ExceptionNameError at /usr/lib/ruby/2.1.0/psych/core_ext.rb:16 - methodto_yaml 'オブジェクトで定義されていません ExceptionNameError at /usr/lib/ruby/2.1.0/ psych/core_e xt.rb:29 - methodyaml_as 'モジュールで定義されていません ExceptionNameError at /usr/lib/ruby/2.1.0/psych/deprecated.rb:81 - 未定義メソッドto_yaml_properties' for classObject ' 本当にありがとうございました。問題を解決する

+0

この文脈で「mib」とは何を意味していますか? – tadman

+0

mibディレクトリは私のベンダーのMIBファイルです – stefansaye

+0

これは循環定義です。ここではどのモジュールを使用しようとしていますか?これは単純なRubyだけではありません。 – tadman

答えて

0

定義されていないフリーズしたクラスを持つYAMLファイルをロードする場合、このファイルをデシリアライズする前にロードする必要があります。

私はあなたが遭遇するかどうかわかりませんが、それは最初のことにつまずくまで実行されますが、DateTimeが必要な場合はrequire 'date'が修正される可能性があります。欠けているクラスがあれば、同じことをする必要があります。定義されている場所とrequireの部分を追跡してから、YAML.loadの部分を探してください。

関連する問題