你所要做的重复安装宝石JRuby的&MRI?
-
16-09-2019 - |
题
我已安装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_jukebox
和jplay_jukebox
;和load_jukebox
和jload_jukebox
- 每个具有正确shebang行(/usr/bin/env ruby
或/usr/bin/env jruby
)
我很想知道一个更好的办法。但我宁愿一个单一的宝石内处理一切不是维护和分发多种宝石。
不隶属于 StackOverflow