无需Mac即可分发适用于macOS的已编译Crystal二进制文件

时间:2019-02-20 16:59:38

标签: macos crystal-lang

我想分发为macOS编译的Crystal应用程序。我不想让我的用户安装Brew,然后再安装Crystal依赖项。我只想让他们下载我的单个文件二进制文件。从理论上讲这可能吗?

1 个答案:

答案 0 :(得分:0)

编辑

我的错误

Apple does not support statically linked binaries

因此,以下内容不适用于macOS,但可以在Linux上使用。


  

这在理论上可行吗?

是的!很有可能;实际上,您不需要执行任何常规操作,而是将Crystal依赖项静态链接到单个文件中。 (编辑:不...)

含义:给定程序myprog,只需使用以下程序进行构建:

$ crystal build --release src/myprog.cr

Crystal随后将构建可执行文件myprog,仅此而已!生成的可执行文件已准备好分发。

myprog可以在其他macOS系统上运行,它们不需要在您的计算机上安装您程序的任何水晶依赖项,这是因为它们已编译到myprog文件中

  

注意:--release将以更长的构建时间为代价来优化可执行文件。 (可选)您还可以传递一个--no-debug标志,该标志将从可执行文件中删除调试符号,并在某种程度上减小文件的大小。