如何找到神秘的YAML错误?

问题描述:

在进行一些测试时,我开始为所有测试获得以下错误。如何找到神秘的YAML错误?

Psych::SyntaxError: couldn't parse YAML at line 92 column 0 

使用此代码运行测试:

ruby -Itest ./test/functional/users_controller_test.rb 

我找不到在灯具的任何YAML错误,所以我解开了自己的所有变化。根据git,这些文件与我开始时的状态相同。但我一直得到同样的错误。

如何解决?如何找到导致问题的文件?

的Rails 3.0.7
红宝石1.9.2p290

+0

我不认为它是在测试/夹具目录中的一个。我在控制台中加载了一些,并且它们加载得很好。我认为这是一些配置设置...但我不认为有任何改变。测试文件与Spork一起运行。 – 2012-08-16 05:32:00

找到了!两个夹具文件中有一个制表符。

奇怪的是,这些文件没有从以前的变化。他们过去工作得很好。我相信这是因为git可以区分标签和空间。 (这些文件现在被修改)。

显然,一个gem或其他文件更新了YAML解析器,更挑剔......但奇怪的是,我没有更新任何东西。

我想这是运行RVM或rbenv(我是)的一个很好的理由。太糟糕了,它不能解释发生了什么......

升级你的Rails到较新的版本3.0.x的,并期待at this other Stack Overflow question其他提示。