如何将独立的Ruby脚本编译成独立的AOT编译的macruby可执行文件?

时间:2011-07-20 01:12:42

标签: macruby

如何将独立的Ruby脚本编译成独立的AOT编译的macruby可执行文件?

我想在MacRuby中编写一个可以分发的命令行工具。

2 个答案:

答案 0 :(得分:2)

macrubyc是你的朋友。简单的hello world示例,在终端中:

chris$ echo 'puts("Hello, world!")' > hello.rb
chris$ macrubyc hello.rb -o hi
chris$ ./hi
Hello, world!
chris$ file hi
hi: Mach-O 64-bit executable x86_64
chris$

有几点需要注意,最重要的是二进制文件需要一个macruby运行时链接。在你的机器上你可以像我上面那样运行'hi'程序,但当你把它发送到没有安装macruby的macs时,你必须将它静态编译成可执行文件。

有关详细信息,请参阅macrubyc联机帮助页。

答案 1 :(得分:1)

传统方法是将命令行实用程序作为未编译的ruby脚本提供。如果你用

作为前缀
#!/usr/bin/env macruby

并使用

设置文件可执行文件
$ chmod a+x myfile.rb

然后从用户的角度来看,它只是运行,好像它是二进制文件。

If you do want to deliver it as a binary, that question has been asked here.