【问题标题】:cannot load such file -- rubygems/defaults/ruby error?无法加载此类文件 -- ruby​​gems/defaults/ruby 错误?
【发布时间】:2016-04-14 02:44:39
【问题描述】:

我尝试使用 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/

Exception LoadError' at /usr/lib/ruby/2.1.0/rubygems.rb:1203 - 无法加载此类文件 -- ruby​​gems/defaults/ruby /usr/lib/ruby/2.1.0/psych/class_loader.rb:67 处的 ExceptionNameError' - 未初始化的常量 BigDecimal /usr/lib/ruby/2.1.0/psych/class_loader.rb:67 处的异常 NameError' - 未初始化的常量 DateTime /usr/lib/ruby/2.1.0/psych/core_ext.rb:16 处的 ExceptionNameError' - 对象中未定义 methodto_yaml' /usr/lib/ruby/2.1.0/psych/core_ext.rb:29 处的 ExceptionNameError' - 模块中未定义 methodyaml_as' /usr/lib/ruby/2.1.0/psych/deprecated.rb:81 处的 ExceptionNameError' - 未定义 methodto_yaml_properties' for classObject' 非常感谢...您在解决问题方面的帮助。

【问题讨论】:

标签: ruby snmp


【解决方案1】:

如果您要加载的 YAML 文件中包含未定义的冻结类,则必须在反序列化此文件之前加载这些类。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 2012-04-02
    相关资源
    最近更新 更多