跳至主要内容
版本:1.22.3

Swift 包注册表

发布您用户或组织的 Swift 包。

需求

要使用 Swift 包注册表,您需要使用 swift 来使用它,并使用 HTTP 客户端(如 curl)来发布包。

配置包注册表

要注册包注册表并提供凭据,请执行以下操作

swift package-registry set https://gitea.example.com/api/packages/{owner}/swift
swift package-registry login https://gitea.example.com/api/packages/{owner}/swift --username {username} --password {password}
占位符描述
owner包的所有者。
username您的 Gitea 用户名。
password您的 Gitea 密码。如果您使用的是 2FA 或 OAuth,请使用 个人访问令牌 而不是密码。

登录是可选的,仅在包注册表为私有时才需要。

发布包

首先您需要打包包的内容

swift package archive-source

要发布包,请使用包内容作为请求正文执行 HTTP PUT 请求。

curl -X PUT --user {username}:{password} \
-H "Accept: application/vnd.swift.registry.v1+json" \
-F source-archive=@/path/to/package.zip \
-F metadata={metadata} \
https://gitea.example.com/api/packages/{owner}/swift/{scope}/{name}/{version}
占位符描述
username您的 Gitea 用户名。
password您的 Gitea 密码。如果您使用的是 2FA 或 OAuth,请使用 个人访问令牌 而不是密码。
owner包的所有者。
scope包的作用域。
name包名称。
version包版本。
metadata(可选) 包的元数据。JSON 编码的 https://schema.org/SoftwareSourceCode 子集

如果已存在具有相同名称和版本的包,则无法发布包。您必须先删除现有包。

服务器将返回以下 HTTP 状态代码。

HTTP 状态代码含义
201 已创建包已发布。
400 错误请求包无效。
409 冲突已存在具有相同参数组合的包文件。

安装包

要从包注册表安装 Swift 包,请将其添加到 Package.swift 文件的依赖项列表中

dependencies: [
.package(id: "{scope}.{name}", from:"{version}")
]
参数描述
scope包的作用域。
name包名称。
version包版本。

然后执行以下命令进行安装

swift package resolve