gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:15 25 4
gpt4 key购买 nike

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

我希望有人可以向我指出执行以下操作的 shell 脚本或 Ruby 脚本:

  1. 跟踪应用中的所有依赖项/gem。
  2. 将 Ruby 解释器和依赖项复制到应用程序包中。
  3. 在 Ruby 解释器和所有动态库上运行 install_name_tool 以使其可移植。

应用程序包可以是 Platypus 创建的东西,使用 Cocoa stub 启动器,甚至是 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 丰富得多的部署工具传统,这是我从未完全理解的。)

最佳答案

这有点晚了,但以经典的方式,因为我在 Mac 上找不到用于 Ruby-Tk 的桌面应用程序部署工具,所以我写了自己的:

ruby2app

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

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

关于ruby - 在 OS X 上部署 Ruby-Tk 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11052635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com