Swift 编译器可以为我的应用程序创建单个可执行文件吗?

问题描述

我目前正在尝试为我的 Vapor 应用程序创建一个可执行文件,但我无法在我的服务器上运行它。

我的期望是它能够使用我的所有代码和依赖项创建一个应用程序。我目前的参考资料是 .NET 和 Go,您可以在其中从代码创建单个可执行文件并部署这个独立文件 - 这使得部署变得非常简单。

我尝试在 Docker 上编译和执行它,但没有这样的运气——它失败了,因为缺少一些 libSwift 的东西。

那么,Swift 可以做这样的事情吗?

期待您的回答

解决方法

您可以构建一个静态链接标准库的二进制文件,或者使用 Swift 5.3.1 中引入的静态链接标志 - -static-stdlib-static-executable 构建一个完全自包含的二进制文件。有关详情,请参阅 this forum post

请注意,swift 仍然对 ICU 和 libc 有一些依赖,因此还不是完全可移植的

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...