在所有应用程序中使用JRuby是否意味着Ruby的重复?
-
06-07-2019 - |
题
例如,如果我为常规Ruby安装Rails,我是否需要为JRuby安装特殊的Rails?所以我有一切重复吗?
解决方案
简单的答案是肯定的。 JRuby代表系统上单独安装Ruby,因此Gems必须分别安装在JRuby和Ruby上。
其他提示
如果您将宝石与Rails应用程序捆绑在一起,并且这可以包含Rails本身,那么就不需要进行多次安装。
某些gems有各种特定于平台的版本,例如JRuby或Win32,如果应用程序在混合平台环境中运行,这可能会使这种做法变得不切实际。虽然Rails似乎没有以这种方式分支,但许多其他的,特别是与Ruby紧密绑定的那些,如编译扩展,确实如此。
值得尝试将尽可能多的宝石与您的应用程序捆绑在一起,并使用冻结版本的Rails来查看它是如何工作的,并根据需要进行调整。
有些宝石使用非FFI C扩展。这些在JRuby下不起作用。
某些宝石的安装方式不同,具体取决于平台(例如Mongrel)。在这种情况下,需要单独安装。
您可以并排安装Ruby和JRuby,然后按如下方式比较gem:
gem list --local
jruby -S gem list --local
不隶属于 StackOverflow