在OSX .app容器中分发Rails应用程序

时间:2010-01-16 11:19:36

标签: ruby-on-rails ruby macos packages distribution

我想在.app包中分发Rails应用程序,因此它可以从10.4到10.6运行;是否有任何关于如何做到这一点的方法或提示?特别是以下事情让我扭曲了头脑:

  1. 我想用Ruby 1.8.6重新打包应用程序,所以即使在系统上安装了旧版本的Ruby(例如Mac OS X Tiger中的1.8.4),它也会运行 - 怎么会我遇到了普遍的二元问题?我可以添加Ruby并使用这个特定的Ruby版本来运行我的应用程序吗?

  2. 实现:我想让一个.app在应用程序启动时启动瘦或混蛋,并在应用程序关闭时停止应用程序。是否有任何示例OS X XCode项目(或任何其他示例)?

  3. 是否可以使用XCode容器?我有哪些其他选择?

4 个答案:

答案 0 :(得分:1)

如何将jRuby用于您的应用程序,然后您可以将整个应用程序打包为单个.jar文件并以这种方式分发。

除了使用纯Java JDBC实现更改本机MySQL驱动程序之外,我已经能够在jRuby中运行我的Ruby on Rails应用程序,而无需对应用程序进行任何重大修改。

另请查看此similar questionKenai project以获取有关jRuby的更多信息。

答案 1 :(得分:0)

MacRuby人可能有一些想法

答案 2 :(得分:0)

在MacRuby中运行Rails应用程序似乎只是时间问题。使用v0.5b2,它已经支持Sinatra,Racks,RDoc等。 如果你可以等待(或将你的Rails应用程序移植到Sinatra),我会选择MacRuby

否则我想你可以在Objective-C中编写一个工具,它通过一些终端命令运行嵌入式Rails应用程序。 You can find some pointers here.

答案 3 :(得分:0)

你尝试过Crate吗?实际上它是一个包装通用ruby应用程序的工具,但你可能能够将rails应用程序粘贴到那里。 几个链接:

http://rubyconf2008.confreaks.com/crate-packaging-your-ruby-application.html http://www.copiousfreetime.org/articles/2008/11/30/package-an-application-with-crate.html