ruby-on-rails - 将 JRuby 与 Rails 3.2 结合使用

标签 ruby-on-rails ruby nginx jruby torquebox

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

我遇到的问题是这样的:

ld: -rpath can only be used when targeting Mac OS X 10.5 or later collect2: ld returned 1 exit status make: * [GEM.bundle] Error 1

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

基本上我要问的是,如果我不在我的开发计算机上使用 JRuby,而坚持只使用 1.9.2,然后仅在生产计算机上使用 JRuby,那么这真的是一个问题吗?或者我应该继续尝试让它在 Lion 上工作?

--- 编辑 ---

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

最佳答案

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

不特别建议在生产中将 C 扩展与 JRuby 一起使用。它们在大多数情况下都能工作(有些仍然失败),但速度可能相当慢。请咨询https://github.com/jruby/jruby/wiki/C-Extension-Alternatives并使用 jruby-lint 看看是否可以尽可能多地删除 C 扩展。

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

关于ruby-on-rails - 将 JRuby 与 Rails 3.2 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9072070/

相关文章:

ruby-on-rails - 设计 stored_location_for(resource) 返回 nil

ruby-on-rails - 在 ruby​​ 中过滤事件记录结果

ubuntu - 使用 HTTPS 的 IP 给出 "Your connection is not private"[Nginx/Ubuntu]

ruby-on-rails - Rails hide_field_tag 整数自动转换为字符串?

ruby-on-rails - "script/server"RoR RVM错误

ruby-on-rails - Rails 3 路由错误 - "No Route Matches"

amazon-web-services - aws有替代nginx吗?

parameters - 如何使用nginx通过proxy_pass转发查询字符串参数?

ruby-on-rails - Rails4 + 回形针 : Url and Path not matching

ruby - 是否可以在 Ruby 1.8.6 上安装 RubyGems?