我在ruby 1.9.2上运行rails 3.0.3应用程序时出现了一个奇怪的错误,事实上它还没有运行,因为我收到以下错误:
ArgumentError (Syck is not missing constant BadAlias!):
Rendered /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.0ms)
Rendered /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (14.4ms)
Rendered /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (19.4ms)
是因为红宝石版本?或者我该如何解决这个问题?
- 稍后修改:
在ruby 1.8.7 EE上,我没有这样的错误。
答案 0 :(得分:1)
搜索并搜索互联网后,我开始在我的应用中查看我的所有YAML,并使用http://yaml-online-parser.appspot.com/验证每个文件,并且我遇到如下错误:
while parsing a flow node
expected the node content, but found ':'
in "<unicode string>", line 147, column 13:
order: [:day, :month, :year]
因此,一切都是因为yaml错误。问题在于unicode,似乎在ruby 1.9.2上与1.8.7中的不同。