在升级Bundler后在Ruby中解析YAML时出现心理变元错误

问题描述:

我刚刚从1.0升级到Bundler 1.1。我以前工作的所有代码现在打破以下错误:在升级Bundler后在Ruby中解析YAML时出现心理变元错误

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

+0

那么,你传递了什么论点? – 2012-04-25 02:20:15

+0

我没有特别向Psych传递任何论据。我将一个YAML字符串传递给YAML.load,并在Psych中出错。正如我所说的这个代码工作正常,直到我更新捆绑器。 – 2012-04-25 02:27:10

不是一个真正的修复,但我发现使用我可以删除迷幻的YAML解析器:

YAML::ENGINE.yamler = 'syck' 

做到这一点之前调用:

YAML.load 

我已打开an issue on the psych project

UPDATE:问题似乎与我使用的Ruby版本有关。更新我的Ruby版本修复了这一点。在Psych上看到上面的问题。