我开发了一个 Ruby 应用程序(一个小游戏),我想将它“分发”给其他人。
但是,我不确定如何处理所需的宝石。如果我只是将我的应用程序发送给安装了 ruby 但没有安装所需 gem 的人,我认为它会爆炸。我可以在本地打包宝石吗?如果是这样,如果其他人拥有不同版本的 gem,会不会发生冲突?
那么,这样做的聪明/正确/好方法是什么?
我开发了一个 Ruby 应用程序(一个小游戏),我想将它“分发”给其他人。
但是,我不确定如何处理所需的宝石。如果我只是将我的应用程序发送给安装了 ruby 但没有安装所需 gem 的人,我认为它会爆炸。我可以在本地打包宝石吗?如果是这样,如果其他人拥有不同版本的 gem,会不会发生冲突?
那么,这样做的聪明/正确/好方法是什么?
最好的方法可能是将您的游戏也打包为 gem,这样 rubygems 将负责安装依赖项。这是解释如何创建自己的 gem 的文档。
如果您不想将游戏打包为 gem,则可以研究Bundler,它将集成到 Rails 3 中。
在您的 environment.rb 中,您可以表达您的 gem 依赖项,例如。
config.gem "activemerchant", :lib => "active_merchant", :version => "1.4.1"
这不像 gem 依赖项那样自动,但它肯定是可用的。用户必须sudo rake gems:install
让您的应用程序启动。
如果您正在寻找一种创建 OSX .dmg 和 Windows 安装程序的方法,有一个名为releasy的 gem可以为您完成所有这些工作,它专门用于发布用 Ruby 编写的 GUI 应用程序。它将 Ruby 和所有 gem 依赖项捆绑到一个可执行文件中,这样您的最终用户就不必安装任何额外的东西。
您将需要访问 Windows/OSX 环境来制作安装程序。