在1.9模式下使用Jruby运行rails应用程序?

时间:2011-05-18 21:16:59

标签: ruby-on-rails jruby

尝试在jruby 1.9模式下使用终端运行rails应用程序。我尝试了以下方法,但遇到了一系列错误:

$ 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 个答案:

答案 0 :(得分:2)

这是由新的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')
相关问题