0

我想在一个项目中使用不同的 Ruby(ruby 1.9.3 和 jruby 1.7.0)。

我需要这样做,因为当我在整个项目中使用 Jruby 时,我的项目中出现错误。因此,我只想将 Jruby 用于实际需要它的类,而将普通 Ruby 用于其他类。

这可能吗?如何?

4

2 回答 2

0

您不能使用两种不同的红宝石运行一个应用程序实例。你认为它会如何运作?我看到这些选项:

  • 使用 ruby​​ 1.9 运行所有内容(如果可能且可取);
  • 拆分应用程序并使用 jruby 运行一部分,然后使用 MRI 运行另一部分。
于 2012-08-06T08:10:10.520 回答
0

Ruby 和 JRuby 不能在同一个进程中运行,因此要在同一个项目中同时使用它们,您需要有单独的进程,以及某种进程间通信。这可以像让 JRuby 程序使用反引号执行 Ruby 脚本一样简单,从进程接收标准输出作为字符串,或者比它必须的复杂得多。例如,为了更高级,您可以使用 FIFO 或消息队列。

于 2012-08-06T08:13:23.133 回答