如何將獨立的Ruby腳本編譯爲獨立的AOT編譯的macruby可執行文件?如何將獨立的Ruby腳本編譯爲獨立的AOT編譯的macruby可執行文件?
我想在MacRuby中編寫一個可以分發的命令行工具。
如何將獨立的Ruby腳本編譯爲獨立的AOT編譯的macruby可執行文件?如何將獨立的Ruby腳本編譯爲獨立的AOT編譯的macruby可執行文件?
我想在MacRuby中編寫一個可以分發的命令行工具。
傳統方法是將您的命令行工具作爲未編譯的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.
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的mac時,你必須靜態編譯它到可執行文件中。
有關更多詳細信息,請參閱macrubyc手冊頁。