【问题标题】:How to solve the following rails 3 error: ArgumentError (Syck is not missing constant BadAlias!)?如何解决以下 rails 3 错误:ArgumentError (Syck is not missing constant BadAlias!)?
【发布时间】:2011-08-07 15:03:56
【问题描述】:

我在 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版本吗?或者我该如何解决?

--稍后编辑:
在 ruby​​ 1.8.7 EE 上,我没有这样的错误。

【问题讨论】:

  • 我认为这不适用于我的情况。我的应用程序在雪豹上运行,部署到 ubuntu 服务器时出现此错误:|
  • 尝试将此行放入您的 application.rb YAML::ENGINE.yamler = 'syck'。参考:stackoverflow.com/questions/6140493/…。我在某处读到这已经解决了。只是在黑暗中拍摄。
  • 我试过了。但我得到同样的错误。 #require 'psych'(或无注释) #require 'yaml'(或无注释) YAML::ENGINE.yamler='syck' require File.expand_path('../boot', FILE ) 需要'rails/all'
  • syck 应该被 psych 取代,成为 ruby​​ 1.9 iirc 中的默认 yaml 引擎。你试过用 psych 代替吗?

标签: ruby-on-rails-3


【解决方案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 不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多