在OS X上部署Ruby Tk应用程序

在OS X上部署Ruby Tk应用程序,ruby,macos,deployment,tk,Ruby,Macos,Deployment,Tk,我正在寻找一种在OS X上部署独立Ruby Tk桌面应用程序的简单方法。在Mac上部署桌面Ruby GUI应用程序的所有现有选项(例如standaloneify.rb)都假设您使用的是RubyCocoa或MacRuby,并且与Xcode/Interface Builder项目结构紧密绑定;或者,您可以通过Platypus包装一个简单的脚本,而不需要部署整个Ruby运行时。我发现的其他现有选项——RubyScript 2Exe、ocra、crate——都不支持Mac和/或Ruby 1.9 我希望有

我正在寻找一种在OS X上部署独立Ruby Tk桌面应用程序的简单方法。在Mac上部署桌面Ruby GUI应用程序的所有现有选项(例如standaloneify.rb)都假设您使用的是RubyCocoa或MacRuby,并且与Xcode/Interface Builder项目结构紧密绑定;或者,您可以通过Platypus包装一个简单的脚本,而不需要部署整个Ruby运行时。我发现的其他现有选项——RubyScript 2Exe、ocra、crate——都不支持Mac和/或Ruby 1.9

我希望有人能给我指出一个shell脚本或Ruby脚本,它可以实现以下功能:

  • 跟踪应用程序中的所有依赖项/宝石
  • 将Ruby解释器和依赖项复制到应用程序包中
  • 在Ruby解释器和所有DYLIB上运行install_name_工具,使其可移植 应用程序包可以是由Platypus创建的,可以使用Cocoa存根启动器,甚至可以是shell脚本——我知道如何处理这些。我遇到的问题是以一种可移植的方式包装Ruby运行时

    有一个rakefile包含了我希望实现的任务,但这个rakefile是一个更大构建结构的一部分,我无法在Mac上运行。我对rakefile结构不够熟悉,无法将其重构为一个简单的脚本,可以通过“ruby rake_osx.rb”甚至“rake”运行


    如果有人能建议我如何修改这个rakefile以独立运行,或者给我指出另一个示例项目,或者甚至分享一些代码,我将不胜感激。我正在从事的项目比Python更适合Ruby(Ruby中更好的库支持),但如果部署不起作用,我不会在它上面投入时间。(Python拥有比Ruby丰富得多的部署工具传统,这一点我从来没有完全理解过。)

    这一点在事实发生之后有点晚了,但以经典的方式,因为我在Mac上找不到Ruby Tk的桌面应用部署工具,所以我写了自己的:

    ruby2app是一个简单的命令行工具,其灵感来自类似的Mac工具,如py2app for Python,它将Ruby脚本与Ruby运行时捆绑到一个独立的Mac应用程序中。它读取一个基本配置文件以找到合适的Ruby安装,编译一个嵌入Ruby解释器的小型C程序,将整个Ruby安装复制到应用程序包中,并将相关库与主可执行文件重新链接

    它试图为Mac提供ocra和exerb为Windows提供的功能。希望这对其他人有用