【问题标题】:Is there any crossplatform GUI for Ruby that is easy to install on Mac OS?是否有任何易于在 Mac OS 上安装的 Ruby 跨平台 GUI?
【发布时间】:2011-08-31 10:40:07
【问题描述】:

我有一些供最终用户使用的 ruby​​ 脚本,如果有一些 GUI 会很不错。有些用户使用 Windows,有些用户使用 Mac OS X(Snow Leopard、Lion)。所以我需要某种我的用户可以轻松安装的跨平台 GUI。对于内置 Tk 和许多可以像gem install wxRuby 一样简单安装的 gem 的 Windows。但是在 MacOS 上我有一些问题:

  • 由于 Snow Leopard+ 的 64 位特性,没有内置 Tk,并且没有简单的安装方法。
  • 在 Mac OS X 上根本不存在 qtRuby4 gem。
  • gtk2 gem 是原生的,无法在 Mac OS X Snow Leopard+ 上构建
  • wxruby gem install 但无法在 64 位 Snow Leopard+ 上运行,脚本需要在 32 位模式下手动执行。

也许有人可以建议一些分发/方式来安装用于 ruby​​ 的 GUI 工具包,这对于 Windows 和 Mac OS X Snow Leopard / Lion 的最终用户来说易于安装?或者 wxRuby 是唯一的方法,我需要以某种方式确保最终用户以 32 位模式执行脚本?

【问题讨论】:

    标签: ruby


    【解决方案1】:

    我没用过,但Shoes 可能适合。

    【讨论】:

    • 据我所知,它非常简单,作者多年前就放弃了它的支持。
    • 很公平 - MonkeyBars 怎么样?再说一次,我没有用过它,这次我对 Java Swing 及其跨平台性了解不多。
    • Monkeybars 基于jruby。我的主要目标是尽量减少最终用户的操作,假设他们已经在他们的 Windows 或 Mac OS X 计算机上安装了 ruby​​。我认为运行类似gem install somegui 的东西是ok。但是安装java,jruby,配置一些东西等等……我不认为它会是用户友好的^_^
    • @地狱之眼:这很简单,但取决于应用程序可能就足够了。原作者已经放弃了对它的支持,但人们选择了它并再次努力。还有一个名为“Green Shoes”的替代版本,它是纯 Ruby gem,不像 (Red) Shoes 那样带有自己的 Ruby 环境。
    • 鞋子仍在积极开发中(自 _why 离开后仅由其他人开发):blog.shoesrb.com 提交列表:github.com/shoes/shoes/commits/develop
    【解决方案2】:

    2008 年有一个 Ruby GUI 调查,需要更新。也许它仍然很有趣:

    http://www.pressure.to/ruby_gui_survey/

    恕我直言,您最好的选择是 wxRuby,没有 32 位限制。另一种方法是使用 Sinatra 之类的东西将您的应用程序包装为轻量级 Web 应用程序,在 localhost 上启动服务器并告诉用户在浏览器中去哪里。也就是说,如果在 JavaScript 中做 GUI 是你的事。

    【讨论】:

    • 它已经过时了。自 2008 年以来,作者和 top2 放弃了 top1,鞋子,ruby-gnome2 不再在 Snow Leopard 和 Lion 下编译:(。
    • 我知道,我说过它需要更新,我只是不确定你是否知道。正如我在其他评论中所说,Shoes 还活着,主要版本由一群志愿者支持,我的朋友 Satoshi 有一个替代版本,称为“Green Shoes”:github.com/ashbb/green_shoes
    • 不幸的是,绿鞋是基于 ruby​​-gtk2 的,正如我上面提到的,ruby-gtk2 不会在 OSX 10.6 及更高版本上构建。
    【解决方案3】:

    好的,目前看来最简单的方法是使用 Ruby-GNOME2。为 OSX 配置 ruby​​ 的指令是通过标准的.dmg 安装程序安装 macports 并执行一个命令:

    sudo -s "port selfupdate; port install ruby; gem install gtk2"
    

    当然,安装一些东西对用户来说不是很友好,但是手动修改 wxRuby 的 32 位 / 64 位解释器执行让我更害怕。这将需要修改最终用户系统或在 each 脚本中添加某种引导程序,以便检查是否在 64 位 macos 上执行,并在这种情况下在 32 位解释器中重新启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 2010-09-11
      • 2010-10-26
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多