一个项目中的RVM和不同的Ruby版本

时间:2012-08-06 08:05:40

标签: ruby

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

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

这可能吗?怎么样?

2 个答案:

答案 0 :(得分:0)

您无法使用两个不同的红宝石运行一个应用实例。你觉得它会如何运作?我看到了这些选项:

  • 使用ruby 1.9运行所有内容(如果可能且可取);
  • 拆分应用程序,用jruby运行一个部件,用MRI运行另一个部件。

答案 1 :(得分:0)

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