无法加载此类文件 - ruby​​gems / defaults / ruby​​错误?

时间:2016-04-14 02:44:39

标签: ruby snmp

我尝试使用import.rb导入我的供应商的MIB,

我已将.mib文件放入名为mib的目录中。

/snmp-1.2.0#ls ./mib /

  

cpq54nn.mib cpqdmii.mib cpqhost.mib cpql2mgt.mib cpqrack.mib cpqservice.mib cpqstsys.mib     .......

操作系统安装了libsmi软件包:

libsmi2-dev install

libsmi2ldbl:amd64 install

我得到了如下的错误信息,

snmp-1.2.0$ ruby -d import.rb mibs/
  /usr/lib/ruby/2.1.0/rubygems.rb:1203上的

异常LoadError' - 无法加载此类文件 - ruby​​gems / defaults / ruby   ExceptionNameError'at /usr/lib/ruby/2.1.0/psych/class_loader.rb:67 - 未初始化的常量BigDecimal   异常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'未在Object中定义   在/usr/lib/ruby/2.1.0/psych/core_ext.rb:29中的ExceptionNameError' - 在模块中未定义methodyaml_as   ExceptionNameError'at /usr/lib/ruby/2.1.0/psych/deprecated.rb:81 - undefined methodto_yaml_properties'for classObject'   我真的很感激......你帮助我解决问题。

1 个答案:

答案 0 :(得分:0)

如果你正在加载一个没有定义冻结类的YAML文件,那么你必须在反序列化这个文件之前加载它们。

我不知道你会遇到什么,它会一直运行直到它遇到第一件事,但如果你需要DateTime那么require 'date'可能会解决这个问题。无论缺少什么课程,你都需要做同样的事情,在require部分之前追踪它的定义和YAML.load