Swift Package Manager 是一个用于管理源代码分发的工具,旨在让共享代码和重用他人代码变得容易。该工具直接解决了编译和链接 Swift 包、管理依赖项、版本控制以及支持灵活的分发和协作模型等挑战。
我们将系统设计为可以轻松地在 GitHub 等服务上共享软件包,但软件包也非常适合私人个人开发、团队内部的代码共享或任何其他粒度级别的共享。
Swift Package Manager 包括一个可以为 macOS 和 Linux 构建的构建系统。Xcode 11 与 libSwiftPM 集成,为 iOS、watchOS 和 tvOS 平台提供支持。
SourceKit-LSP 项目利用 libSwiftPM,并为支持 LSP 的编辑器提供语言服务器协议实现。
请使用本指南学习 package manager 的基础知识。
如需快速帮助,请使用 swift package --help
命令。
有关使用 Swift Package Manager、创建软件包等的详细文档,请参阅文档。
有关开发 Swift Package Manager 本身的更多文档,请参阅Documentation/Development。
package manager 的系统要求与 Swift 的系统要求相同,但需要注意的是,package manager 在运行时和构建时都需要 Git。
Swift Package Manager 包含在 Xcode 8.0 及所有后续版本中。
package manager 也可用于其他平台,作为 swift.org 提供的所有快照的一部分,包括从 master
构建的最新版本的快照。有关下载快照的安装说明,请参阅 swift.org 的“入门指南”部分。
您可以通过在终端中输入 swift package --version
来验证您的安装
$ swift package --version
Apple Swift Package Manager - ...
在 macOS 上,/usr/bin/swift
只是一个将调用转发到活动工具链的存根。因此,当您调用 swift build
时,它将使用您的 TOOLCHAINS
环境变量定义的 swift。这可以用于轻松地在默认工具和开发快照之间切换
$ xcrun --find swift
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
$ swift --version
Apple Swift version 3.0
$ export TOOLCHAINS=swift
$ xcrun --find swift
/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/swift
$ swift --version
Swift version 3.0-dev
要使用特定的工具链,您可以将 TOOLCHAINS
设置为 .xctoolchain
的 Info.plist 中的 CFBundleIdentifier
。
SWIFT_EXEC
环境变量指定 swift package
使用的 swiftc
可执行文件路径。如果未设置,package manager 将尝试定位它
swift-package
的父目录中。xcrun --find swiftc
。如果您在使用 package manager 时遇到任何问题,可以获得帮助。我们推荐
当向跟踪器添加 bug 时,您应该遵循 bug 报告指南,它们可以在Resources.md 中找到。
如果您不方便在列表中分享您的问题,可以在 CODEOWNERS 中找到代码所有者的联系方式;但是,邮件列表通常是寻求帮助的最佳场所。
要了解管理 Swift 项目贡献的政策和最佳实践,请阅读贡献者指南。
如果您有兴趣贡献,请阅读社区提案,其中为当前实现中所做的决策提供了一些背景信息,并为未来功能的发展提供了方向。
有关设置开发环境的说明,请点击此处。
Swift package manager 使用 llbuild 作为编译源文件的底层构建系统。它也是开源的,并且是 Swift 项目的一部分。
版权所有 2015 - 2019 Apple Inc. 和 Swift 项目作者。根据 Apache License v2.0 许可,并包含运行时库例外。
有关许可证信息,请参阅 https://swiftlang.cn/LICENSE.txt。
有关 Swift 项目作者的信息,请参阅 https://swiftlang.cn/CONTRIBUTORS.txt。