Не могу загрузить такой файл - rubygems/defaults/ruby ​​error?

Я пытался импортировать MIB моего поставщика с помощью import.rb,

я положил свои файлы.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/

Исключение LoadError'в /usr/lib/ruby/2.1.0/rubygems.rb:1203 - не может загрузить такой файл - rubygems/defaults/ruby ​​ExceptionNameError' в /usr/lib/ruby/2.1.0/psych/class_loader.rb:67 - неинициализированная константа BigDecimal Exception NameError'в /usr/lib/ruby/2.1.0/psych/class_loader.rb:67 - неинициализированная константа DateTime ExceptionNameError' в /usr/lib/ruby/2.1.0/psych/core_ext.rb:16 - methodto_yaml'не определен в Object ExceptionNameError' в /usr/lib/ruby/2.1.0/psych/core_ext.rb:29 - methodyaml_as'не определен в Module ExceptionNameError' в /usr/lib/ruby/2.1.0/psych/deprecated.rb:81 - undefined methodto_yaml_properties'для classObject' Я действительно ценю... вашу помощь в решении проблемы.

1 ответ

Решение

Если вы загружаете файл YAML с замороженными классами, которые не определены, вам придется загрузить их до десериализации этого файла.

Я не знаю, с чем вы столкнетесь, он просто работает, пока не наткнется на первое, но если вам нужно DateTime затем require 'date' может исправить это. Какой бы класс не пропал, вам нужно сделать то же самое, отследить, где он определен, и require это до YAML.load часть.

Другие вопросы по тегам