我已安装JRuby和红宝石(MRI)。看来,我需要安装宝石两次 - 一次为每个平台。这是必要的还是我做错了?我安装了MRI导轨宝石后,应该我已经指出JRuby中,或者是我有必要还称:“JRuby的-S创业板安装导轨”

有帮助吗?

解决方案

如果您设置GEM_HOME你可以分享你的宝石安装。

其他提示

您需要安装宝石为每个不同的安装,你有红宝石的。

一些宝石定位特定平台上,例如杂种(有一个MRI一个和JRuby的一个)。另外,JRuby的不能使用具有本地扩展(即C代码)宝石除非它们使用FFI(其中大部分不 - 尚未)。

我个人有用于MRI和JRuby单独宝石回购。额外的麻烦的一点是平和的心态试图追查问题时的价值。

这是很容易看到每个回购已经安装了什么:

jruby -S gem list --local

VS。

gem list --local

您甚至可以写一个Ruby脚本到一个宝石列表同步到对方,但是你必须要小心平台特定的宝石......

我创造我的宝石时, jimmy_jukebox 打这个问题,但都取得了我的宝石作品。

首先,JRuby的不处理fork...exec(甚至不正确地回复Process.respond_to?(:fork)),所以我不得不rescue NotImplementedError并使用Spoon.spawnp代替。

然后我创建了(在我的宝石的/ bin目录)配对的可执行文件 - play_jukeboxjplay_jukebox;和load_jukeboxjload_jukebox - 每个具有正确shebang行(/usr/bin/env ruby/usr/bin/env jruby

我很想知道一个更好的办法。但我宁愿一个单一的宝石内处理一切不是维护和分发多种宝石。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top