Ошибка аргумента Psych при разборе YAML в Ruby после обновления Bundler

Я только что обновился до Bundler 1.1 с 1.0. Весь мой код, который работал ранее, теперь ломается со следующей ошибкой:

~/.gem/gems/psych-1.3.2/lib/psych.rb:203:in `parse': wrong number of arguments(2 for 1) (ArgumentError)
  from ~/.gem/gems/psych-1.3.2/lib/psych.rb:203:in `parse_stream'
  from ~/.gem/gems/psych-1.3.2/lib/psych.rb:151:in `parse'
  from ~/.gem/gems/psych-1.3.2/lib/psych.rb:127:in `load'

Есть ли способ исправить это? Все, что я делаю, это звоню YAML.load


person Michael Barton    schedule 25.04.2012    source источник
comment
Ну и какие аргументы вы ему передаете?   -  person Andrew Marshall    schedule 25.04.2012
comment
Я не передаю никаких аргументов конкретно Психологу. Я передаю строку YAML в YAML.load и получаю сообщение об ошибке в Psych. Как я уже сказал, этот код работал нормально, пока я не обновил пакет.   -  person Michael Barton    schedule 25.04.2012


Ответы (1)


Не совсем исправление, но я обнаружил, что могу удалить psych как парсер YAML, используя:

YAML::ENGINE.yamler = 'syck'

Сделайте это перед вызовом:

YAML.load

Я открыл выпуск по психологическому проекту.

ОБНОВЛЕНИЕ: похоже, проблема связана с версией Ruby, которую я использовал. Обновление моей версии Ruby исправило это. См. вышеуказанный выпуск на Psych.

person Michael Barton    schedule 26.04.2012