【问题标题】:Rails: syck has been removed, psych is used insteadRails:syck 已被移除,而使用 psych
【发布时间】:2013-10-08 12:04:20
【问题描述】:

我在我的 rails 项目的 capistrano 部署期间收到此消息:

syck has been removed, psych is used instead

版本:

gem 'rails', '=3.2.13'
ruby 2.0.0p247

据我所知,ruby 使用原生 yamler“Psych”。

Gemfile 中没有任何 yamler。

在我的 boot.rb 中:

require 'yaml'
YAML::ENGINE.yamler = 'psych'

可能是什么问题?

【问题讨论】:

    标签: ruby-on-rails ruby psych syck


    【解决方案1】:

    这可能意味着 yamler 被分配到某处的 gem 中。您可以在此处查看消息是如何生成的:https://github.com/ruby/ruby/blob/8a896179ada36b4fc0f50d75500c801a3097924a/lib/yaml.rb

    如果调用 yamler = 'syck',则会产生警告。

    我搜索了我的 gem,发现我有一个旧版本的 newrelic_rpm,它有以下导致问题的行: YAML::ENGINE.yamler = 'syck' 如果定义了吗?(YAML::ENGINE)

    更新 newrelic gem 为我解决了这个问题。祝你好运。

    【讨论】:

    • 感谢您的回答!就我而言,它是 gem 'vestal_versions'
    • 使用二分法我尝试从 Gemfile 中删除我的 gem 的不同部分,并找到了导致此异常的 gem。
    猜你喜欢
    • 2018-06-21
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多