【发布时间】:2012-06-15 14:27:44
【问题描述】:
我正在寻找一种在 OS X 上部署独立 Ruby-Tk 桌面应用程序的简单方法。在 Mac 上部署桌面 Ruby GUI 应用程序的所有现有选项(例如standaloneify.rb)都假定您使用的是 RubyCocoa 或 MacRuby ,并且与 Xcode/Interface Builder 项目结构紧密绑定;或者,您正在通过 Platypus 包装一个不涉及部署整个 Ruby 运行时的简单脚本。我发现的其他现有选项(rubyscript2exe、ocra、crate)都不支持 Mac 和/或支持 Ruby 1.9。
我希望有人可以将我指向执行以下操作的 shell 脚本或 Ruby 脚本:
- 跟踪应用程序中的所有依赖项/gem。
- 将 Ruby 解释器和依赖项复制到应用程序包中。
- 在 Ruby 解释器和所有 dylib 上运行 install_name_tool 以使其可移植。
应用程序包可以是由 Platypus 创建的,使用 Cocoa 存根启动器,甚至是 shell 脚本——我知道如何处理这些。我遇到的问题是以可移植的方式包装 Ruby 运行时。
http://weft-qda.rubyforge.org/svn/trunk/weft-qda/rake/rake_osx.rb 有一个 rakefile,其中包含我希望完成的任务,但这个 rakefile 是我无法在我的 Mac 上运行的更大构建结构的一部分。我对 rakefile 结构不够熟悉,无法将其重构为一个我可以通过“ruby rake_osx.rb”甚至“rake”运行的简单脚本。
如果有人可以向我建议如何修改这个 rakefile 以独立运行,或者指向另一个示例项目,甚至分享一些代码,我将不胜感激。我正在从事的项目比 Python 更适合 Ruby(Ruby 中更好的库支持),但如果部署不起作用,我不会在它上面投入时间。 (Python 拥有比 Ruby 丰富得多的部署工具传统,这点我一直不太了解。)
【问题讨论】:
标签: ruby macos deployment tk