【发布时间】:2012-02-06 18:29:10
【问题描述】:
我有一个简单的桌面 Ruby 客户端,我想将它分发给少数(技术和非技术)人员。
客户端将作为守护程序运行,因此没有 GUI。我只需要客户端在 OSX 和 Linux 上运行。
有没有办法可以将某个版本的 Ruby 与应用程序一起分发并使用该版本运行我的客户端?我该怎么做?
【问题讨论】:
标签: ruby client desktop-application distribution
我有一个简单的桌面 Ruby 客户端,我想将它分发给少数(技术和非技术)人员。
客户端将作为守护程序运行,因此没有 GUI。我只需要客户端在 OSX 和 Linux 上运行。
有没有办法可以将某个版本的 Ruby 与应用程序一起分发并使用该版本运行我的客户端?我该怎么做?
【问题讨论】:
标签: ruby client desktop-application distribution
是的,但它可能过于复杂。 Ruby 需要针对您运行它的平台进行编译,因此您需要能够访问您将分发到的所有不同平台,然后针对这些平台进行编译,将它们全部包含在您的分发中,并在运行当前平台并选择正确的二进制文件。这整个过程过度且容易出错。此外,这些二进制文件不一定非常小,这会使您的可分发文件变得臃肿。
那么为什么不直接将他们指向 Windows 的 RubyInstaller,告诉他们他们准备在 OS X 上运行,而 Ubuntu 用户通常足够精明,你可以给他们更复杂的说明,或者更好的是,分发你的应用程序作为一个 Ubuntu 包,因此 Ruby 被安装为依赖项。
【讨论】:
一半的答案是您不需要将 ruby 分发给 OSX 用户 - ruby 已经安装在 OSX 机器上。只要您的代码适用于 Ruby 1.8.7,您在 Mac 上就可以了。
【讨论】:
which ruby 应该让你知道。如果您希望使用最新和最大的性能改进并在哈希语法上节省一些击键,这无济于事,但如果 OP 是针对非技术用户,这可能是最简单的方法。