Psych:: SyntaxError не удалось разобрать YAML

Я столкнулся с проблемой в приложении rails, работающем на Fedora 16 Rails версии 2.3.5 и Ruby 1.9.2.p320. Приложение отлично работает на Ubuntu 11.10. Когда я запускаю сервер рельсов и нажимаю на любой контроллер следующую ошибку.

Psych:: SyntaxError в controllername # actionname

не удалось разобрать 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/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:189:in `load_yml'
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:176:in `load_file'
.rvm/gems/[email protected]/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/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `each'
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `load_translations'
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:85:in `init_translations'
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:74:in `available_locales'
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb:50:in `available_locales'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/template.rb:226:in `valid_locale?'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/template.rb:243:in `parse_extensions'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/template.rb:233:in `split'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/template.rb:118:in `initialize'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:81:in `initialize'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:38:in `new'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:38:in `register_template_from_file'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `block in load_all_templates_from_dir'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `each'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `load_all_templates_from_dir'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:29:in `[]'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/paths.rb:48:in `block in find_template'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/paths.rb:47:in `each'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/paths.rb:47:in `find_template'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/base.rb:1389:in `default_template'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/base.rb:905:in `render'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in `block in render_with_benchmark'
.rvm/gems/[email protected]/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/[email protected]/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `ms'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/base.rb:1326:in `default_render'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/base.rb:1332:in `perform_action'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/filters.rb:617:in `call_filters'
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in `perform_action_with_filters'
/.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `block in perform_action_with_benchmark'
.rvm/gems/[email protected]/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

Старшим анализаторам YAML не нравилось наличие вкладок, а только пробелы. Вы можете проверить свой файл YAML, чтобы узнать, есть ли у него какие-либо вкладки в строке 18. Если это так, вы можете либо исправить ваши файлы YAML, либо обновить парсер.