【问题标题】:Using JRuby with Rails 3.2在 Rails 3.2 中使用 JRuby
【发布时间】:2012-01-30 22:55:35
【问题描述】:

有没有人使用 RVM 在 Mac OSX Lion 上安装 Rails 3.2 和 JRuby 1.6.5 成功?我计划在我的生产服务器上使用带有 NGINX 的 TorqueBox,并且我试图在我的开发机器上尽可能多地模仿开发技术。我还没有在我的生产服务器上安装 TorqueBox,到目前为止,在我的 OSX RVM 安装中,我从现有的 Rails 3.2 应用程序中遇到了一些错误,该应用程序在 1.9.2 和 REE 上运行良好。

我遇到的问题是这样的:

ld: -rpath 只能在面向 Mac OS X 10.5 或更高版本时使用 collect2: ld 返回 1 个退出状态 make: * [GEM.bundle] 错误1

其中 GEM 是与 JRuby (1.6.5) 一起安装时失败的少数 Gems 中的任何一个。

基本上我要问的是,如果我不在我的开发机器上使用 JRuby,只使用 1.9.2,然后只在生产机器上使用 JRuby,那么这真的是个问题吗?还是我应该继续尝试让它在 Lion 上运行?

--- 编辑 ---

到目前为止,这适用于 1.6.6,但 Rails 3.2 在启动后首次访问时似乎挂起。控制台中没有错误。有什么想法吗?

【问题讨论】:

  • 你的生产服务器是什么操作系统?

标签: ruby-on-rails ruby nginx jruby torquebox


【解决方案1】:

您用-rpath 描述的问题是http://bugs.jruby.org/6199。这在 JRuby 1.6.6 中已修复。

不特别推荐在生产环境中与 JRuby 一起使用 C 扩展。它们大部分工作(有些仍然失败),但它们可能很慢。请咨询https://github.com/jruby/jruby/wiki/C-Extension-Alternatives 并使用jruby-lint 看看您是否可以尽可能多地摆脱您的C 扩展。

我个人的建议是让您的开发机器尽可能接近生产机器,但不要担心细节。您需要在开发机器上保持高效,但当生产 Ruby 运行时与开发机器上的运行时完全不同时,您不希望有一种无敌的错误感觉。

【讨论】:

    【解决方案2】:

    Charles Nutter 在推特上说 Rails 3.2 需要 JRuby 1.6.6。

    升级 JRuby 后我可以将我的项目升级到 Rails 3.2

    【讨论】:

      【解决方案3】:

      JRuby 1.6.6 及更高版本不能在 Solaris 上运行。 http://jira.codehaus.org/browse/JRUBY-6494

      目前,Solaris 上的 JRuby 不支持 Rails 3.2。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-04
        • 2017-03-05
        相关资源
        最近更新 更多