【发布时间】:2021-02-03 22:43:24
【问题描述】:
我目前正在尝试为我的 Vapor 应用程序创建一个可执行文件,但我无法在我的服务器上运行它。
我的期望是它能够使用我的所有代码和依赖项创建一个应用程序。我目前的参考是 .NET 和 Go,您可以在其中从代码创建单个可执行文件并部署此独立文件 - 这使得部署非常简单。
我尝试在 Docker 上编译和执行它,但没有这样的运气 - 它失败了,因为缺少一些 libSwift。
那么,Swift 可以做这样的事情吗?
期待您的回答
【问题讨论】:
-
您是否在终端中尝试过“swiftc”?在这样的提示下使用:swiftc fileName.swift -o myExecutable
-
是的,您可以只部署一个可执行的 swift 二进制文件,但它应该在将执行它的环境中完全编译,因为它希望在编译期间准确找到它们链接的所有依赖项。因此,为编译创建一个 docker 映像,然后为执行创建相同的映像,并在执行之前安装 swift.org 上列出的所有需要的环境/依赖项
-
好的,这是有道理的,但是 Go 和 .NET 二进制文件实际上是独立的。它们具有零外部依赖性,因为不需要在生成的二进制文件之外查找任何文件。是否可以在 Swift 中制作类似的东西?