【问题标题】:Any pitfalls in switching from MRI to JRuby?从 MRI 切换到 JRuby 有什么陷阱吗?
【发布时间】:2014-10-28 21:39:11
【问题描述】:

我想使用 SikuliX,似乎需要 JRuby。将它们与 MinGW Ruby 放在同一台机器上可能会很痛苦,因为 pik 在 GitHub 上有很多问题并且已经过时了。

所以我正在考虑完全切换到 JRuby。但我会失去什么?我会遇到什么问题?

UPD:是否有不受支持的 gem 的列表?

【问题讨论】:

  • 任何用 C 原生构建的 gem 都是不兼容的。有一个实验性的 - 现在已弃用 - 系统可以使它们工作,但我从来没有能够得到令人满意的结果。 RMagick、数据库适配器和 Nokogiri 等 Gem 将受到影响。一个替代列表在这里,不知道是最新的:github.com/jruby/jruby/wiki/C-Extension-Alternatives
  • 您可以同时安装两个 Ruby,而不会发生冲突。我从打包的二进制文件在 Windows 上安装了 MRI 和 JRuby,没有 Pik; JRuby 二进制文件以j 开头,因此它们相互冲突的可能性不大。如果存在我不知道的冲突风险,您始终可以一次只保留其中一个。我假设 SikuliX 有自己的设置来找到 JRuby,所以你可以完全让 JRuby 远离你的路径。

标签: ruby windows jruby sikuli


【解决方案1】:

正如评论中提到的,C 扩展 gem 是一个问题,但大多数(流行的)gem(如 Nokogiri)也提供了原生 Java 扩展版本 - 因此在那里应该没问题。

诸如本机 DB 适配器之类的东西没有“直接”Java 替代品,但假设有另一个库 (ORM) 使用它们,您将不会遇到切换问题......例如DM 在 JRuby 上直接支持使用 Java 数据库标准,对于 AR 有一个兼容层,尤其是。称为 ActiveRecord-JDBC-Adapter,提供兼容的适配器。

【讨论】:

    猜你喜欢
    • 2011-06-28
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多