隆重推出 swiftly 1.0
今天,我们很高兴地推出 swiftly 的首个稳定版本,这是一款 Swift 版本管理器,它消除了安装、管理和更新 Swift 工具链的痛苦。
最新版本的 Swift 与 Xcode 捆绑在一起,用于编写 Apple 平台上的应用程序。但也许您想在不同的平台(如 Linux)上安装 Swift,或者使用不同版本的工具链来构建服务或命令行工具。下载、解压和安装受信任的 Swift 构建版本以及适用于您操作系统的相关依赖项可能需要相当多的手动且容易出错的步骤。
swiftly 作为 Linux Swift 开发人员社区支持的工具已经存在多年。通过此版本,我们正式将其作为核心 Swift 工具链的一部分进行支持,包括将其托管在 Swift GitHub 组织中。我们还添加了 macOS 支持,以便更轻松地从 Xcode 中单独安装 Swift。
隆重推出 swiftly
swiftly 是安装独立工具链的最佳工具,它提供了在新系统上安装 Swift、更新到最新的稳定版本以及使用 nightly 快照或旧版本进行实验或测试的命令。它还可以轻松地在多个已安装的工具链之间无缝切换。您甚至可以向项目存储库添加一个文件,以便 swiftly 为您开发团队的所有成员使用相同的工具链版本。
自然地,swiftly 本身是用 Swift 编写的,并且能够自行更新到最新版本。
快速浏览
让我们来看看 swiftly 的一些功能!
要开始使用,请访问 swift.org/install 并安装它。
如果需要任何系统软件包或 shell 命令才能使新工具链顺利运行,swiftly 将在安装后提供说明。
最新的 Swift 工具链已安装为默认工具链,因此您可以立即使用它来启动新项目。例如
$ swift package init
swiftly use
命令选择 Swift 命令(例如 swift test
, swift build
)的默认工具链
$ swiftly use 6.0.3
$ swift --version
--
Apple Swift version 6.0.3 (swiftlang-6.0.3.1.2 clang-1600.0.28.6)
Target: arm64-apple-macosx15.0
稍后,如果有新的 Swift 版本发布,您可以使用 latest
命令将其与现有工具链一起安装
$ swiftly install latest
Swift 的预发布版本可用,包括 nightly “snapshot” 工具链。可以使用 swiftly 轻松列出它们
$ swiftly list-available main-snapshot
--
Available main development snapshot toolchains
----------------------------------------------
main-snapshot-2025-03-25
...
一旦您确定了快照工具链,就可以使用其名称进行安装
$ swiftly install main-snapshot-2025-03-25
--
Installing main-snapshot-2025-03-25
临时使用特定 Swift 版本的另一种方法是使用特殊的“+”选择器。使用此语法,您无需先切换到其他工具链
$ swiftly run lldb +main-snapshot-2025-03-25
--
(lldb) _
如果您在团队环境中构建 SwiftPM 项目,并希望在所有贡献者上强制执行通用版本的 Swift 工具链,只需在项目文件夹的根目录中创建一个 .swift-version
文件,其中包含所需的版本(例如“6.0.3”)。
随着 swiftly 更新了新功能和错误修复,您可以运行 swiftly self-update
来检查和安装新版本。
swiftly 的工作原理
通过用 Swift 编写 swiftly,我们能够利用该语言的功能、支持和相关项目的生态系统。Swift 自带标准库功能,用于在其 Foundation 模块中处理文件系统。对于网络操作,Async HTTP Client 可用于处理 HTTP 请求。为了检索最新的 Swift 版本,swiftly 使用 Swift OpenAPI 插件来生成与 swift.org 网站交互的代码。最后,它利用 Swift 与 C 的互操作性来使用现有的 libarchive 库来处理存档。swiftly 使用 libarchive 来提取从 Swift 网站下载的工具链,并且集成很简单。
构建在多个平台上都能良好运行且系统依赖性最少的 shell 程序可能具有挑战性;这促使我们将 swiftly 从使用 shell 程序安装它转变为自安装二进制应用程序。swiftly 可以访问出色的参数解析功能、美观的 --help
屏幕和完整的标准库。
唯一剩下的问题是如何简单地将特定于操作系统和处理器架构的二进制文件交付给用户系统。swift.org 网站有助于操作系统检测,但它无法可靠地检测 Linux 发行版。幸运的是,有 Swift 静态 Linux SDK,它可以制作适用于各种发行版的二进制文件。处理器架构可以在大多数类 Unix 系统上使用 uname -m
确定。所有这些的结果是,只需从网站复制并粘贴到您的终端即可开始使用 Swift。
安装 Swift, swiftly
展望未来,swiftly 将成为在 Xcode 之外安装 Swift 的默认方式。初始版本支持 macOS 和各种 Linux 发行版,包括 Ubuntu、Debian、Fedora、Red Hat Enterprise Linux 和 Amazon Linux。
swiftly 文档提供了关于 在 CI/CD 环境中使用 swiftly 以及为企业环境设置代理服务器和自定义安装位置的更多信息。swiftly 是一个开源项目,因此您可以在其 GitHub 存储库中提出新问题或贡献拉取请求。您也可以在 Swift 论坛上提问或讨论 swiftly。
特别感谢 Patrick Freed 创建了 swiftly,将其贡献给 Swift 组织,以及他对这个有价值的工具的持续贡献。社区是 Swift 如此出色的原因!