Как я могу скомпилировать автономный скрипт Ruby в автономный исполняемый файл macruby, скомпилированный AOT? - PullRequest
4 голосов
/ 20 июля 2011

Как мне скомпилировать автономный скрипт Ruby в автономный исполняемый файл macruby, скомпилированный AOT?

Я хотел бы написать инструмент для командной строки в MacRuby, который можно распространять.

Ответы [ 2 ]

2 голосов
/ 30 июля 2011

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', как я делал выше, но когда вы отправляете ее на macs без установленного macruby, вам придется статически скомпилировать ее в исполняемый файл.

Подробнее см. В справочной странице macrubyc.

1 голос
/ 29 июля 2011

Традиционным способом является предоставление вашей утилиты командной строки в виде некомпилированного сценария ruby. Если вы префикс его с

#!/usr/bin/env macruby

и установите исполняемый файл с помощью

$ chmod a+x myfile.rb

тогда, с точки зрения пользователя, он просто запускается, как если бы он был двоичным.

Если вы хотите доставить его в двоичном виде, этот вопрос был задан здесь.

...