Не могу загрузить такой файл - 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
часть.