Rails: syck был удален, вместо него используется psych
Я получаю это сообщение во время развертывания моего проекта rails:
syck has been removed, psych is used instead
Версии:
gem 'rails', '=3.2.13'
ruby 2.0.0p247
Как я знаю, ruby использует родной ямлер "Psych".
В Gemfile нет никакого ямлера.
В моем boot.rb:
require 'yaml'
YAML::ENGINE.yamler = 'psych'
В чем может быть проблема?
1 ответ
Решение
Это, вероятно, означает, что yamler где-то назначается в гем. Вы можете увидеть, как генерируется сообщение, здесь: https://github.com/ruby/ruby/blob/8a896179ada36b4fc0f50d75500c801a3097924a/lib/yaml.rb
Если вызывается yamler = 'syck', выдается предупреждение.
Я искал свои драгоценные камни и обнаружил, что у меня есть более старая версия newrelic_rpm, в которой была следующая строка, которая вызывала проблему: YAML::ENGINE.yamler = 'syck', если определен?(YAML::ENGINE)
Обновление newrelic gem устранило проблему для меня. Удачи.