如何将独立的Ruby脚本编译成独立的AOT编译的macruby可执行文件?
我想在MacRuby中编写一个可以分发的命令行工具。
答案 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.