Запустите приложение rails с Jruby в режиме 1.9? - PullRequest
1 голос
/ 19 мая 2011

Пытался запустить приложение rails, используя терминал в режиме jruby 1.9. Я попробовал следующее, но столкнулся с рядом ошибок:

$ jruby --1.9 script/rails s
LoadError: load error: /Users/aaronmcleod/Documents/sojourner/config/boot -- java.lang.ClassCastException: org.jruby.RubyObject cannot be cast to org.jruby.RubyException
  require at org/jruby/RubyKernel.java:1047
  require at /Users/aaronmcleod/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29
   (root) at script/rails:5

1 Ответ

2 голосов
/ 19 мая 2011

Это вызвано новым синтаксическим анализатором YAML, который имеет некоторые внутренние ошибки.Проверьте свои файлы yaml, для любых символов, вы должны заменить их на строки.В моем случае это было:

--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -13,7 +13,7 @@ de:
     abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
     month_names: [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
     abbr_month_names: [~, Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
-    order: [ :day, :month, :year ]
+    order: [ "day", "month", "year" ]

   time:
     formats:

См. Также отчет об ошибке: JRUBY-5802

Вы можете определить неисправный файл yaml, выполнив итерацию по всем файлам ипопробуйте разобрать их:

jruby --1.9 -ryaml -e 'ARGV.each {|file| puts file; YAML.load_file(file) }'  $(find . -name '*.yml')
...