Psych :: SyntaxError无法解析YAML

时间:2012-05-04 12:26:22

标签: ruby-on-rails yaml fedora

我在fedora 16 Rails版本2.3.5和Ruby 1.9.2.p320上运行的rails应用程序中遇到问题。该应用程序在Ubuntu 11.10上正常运行。当我运行rails服务器并点击任何控制器时出现以下错误。

在controllername#actionname

中的Psych :: SyntaxError

无法解析YAML

我尝试过应用以下技巧,但这对我不起作用。

我在config / boot.rb

中添加了以下行
require 'yaml'

YAML::ENGINE.yamler = 'syck'

错误跟踪是

.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/psych.rb:148:in `parse'
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/psych.rb:148:in `parse_stream'
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/psych.rb:119:in `parse'
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/psych.rb:106:in `load'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:189:in `load_yml'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:176:in `load_file'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `block in load_translations'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `each'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `load_translations'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:85:in `init_translations'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:74:in `available_locales'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb:50:in `available_locales'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/template.rb:226:in `valid_locale?'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/template.rb:243:in `parse_extensions'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/template.rb:233:in `split'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/template.rb:118:in `initialize'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:81:in `initialize'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:38:in `new'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:38:in `register_template_from_file'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `block in load_all_templates_from_dir'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `each'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `load_all_templates_from_dir'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:29:in `[]'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/paths.rb:48:in `block in find_template'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/paths.rb:47:in `each'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/paths.rb:47:in `find_template'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/base.rb:1389:in `default_template'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/base.rb:905:in `render'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in `block in render_with_benchmark'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `block in ms'
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/benchmark.rb:310:in `realtime'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `ms'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/base.rb:1326:in `default_render'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/base.rb:1332:in `perform_action'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/filters.rb:617:in `call_filters'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in `perform_action_with_filters'
/.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `block in perform_action_with_benchmark'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `block in ms'
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/benchmark.rb:310:in `realtime

1 个答案:

答案 0 :(得分:7)

较旧的YAML解析器不喜欢有标签但只有空格。您可能需要检查YAML文件以查看它是否在第18行有任何选项卡。如果是这种情况,您可能需要修复YAML文件或升级解析器。