【问题标题】:Psych argument error when parsing YAML in Ruby after upgrading Bundler升级 Bundler 后在 Ruby 中解析 YAML 时出现心理参数错误
【发布时间】:2012-04-25 01:57:50
【问题描述】:

我刚刚从 1.0 升级到 Bundler 1.1。我以前工作的所有代码现在都因以下错误而中断:

~/.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

【问题讨论】:

  • 好吧,你传递了什么参数?
  • 我没有专门向 Psych 传递任何参数。我将 YAML 字符串传递给 YAML.load 并在 Psych 中收到错误。正如我所说,在我更新 bundler 之前,这段代码运行良好。

标签: ruby yaml psych


【解决方案1】:

不是真正的修复,但我发现我可以使用以下方法删除 psych 作为 YAML 解析器:

YAML::ENGINE.yamler = 'syck'

在调用之前执行此操作:

YAML.load

我打开了an issue on the psych project

更新:问题似乎与我使用的 Ruby 版本有关。更新我的 Ruby 版本解决了这个问题。请参阅上述有关 Psych 的问题。

【讨论】:

    猜你喜欢
    • 2020-12-15
    • 2013-07-22
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多