## 关于 GitHub CLI 扩展

> \[!NOTE]
> GitHub 和 GitHub CLI 以外的扩展未经 GitHub 的认证，并且其受单独的服务条款、隐私策略和支持文档的约束。 要在使用第三方扩展时降低风险，请在安装或更新扩展之前审核扩展的源代码。

GitHub CLI 扩展是自定义 GitHub CLI 命令，任何人都可以创建和使用。 有关如何创建 GitHub CLI 扩展的详细信息，请参阅“[创建 GitHub CLI 扩展](/zh/enterprise-server@3.17/github-cli/github-cli/creating-github-cli-extensions)”。

扩展在本地安装，范围限定为用户。 因此，如果您从另一台计算机访问 GitHub CLI ，或者其他用户从同一台计算机访问 GitHub CLI ，则该扩展将不可用。

## 查找扩展

可以通过浏览[主题为 `gh-extension` 的存储库](https://github.com/topics/gh-extension)来查找扩展。

## 安装扩展

若要安装扩展，请使用 `extensions install` 子命令。 将 `repo` 参数替换为扩展的存储库。 可以使用完整的 URL，例如 `https://github.com/octocat/gh-whoami`，也可以仅使用所有者和存储库，例如 `octocat/gh-whoami`。

如果使用所有者和存储库，`gh` 将使用当前经过身份验证的 `gh` 主机名安装扩展。 从其他主机安装扩展时，完整的 URL 格式非常有用。 例如， GitHub Enterprise Server 上的用户应使用完整存储库 URL 从 GitHub.com 或任何其他主机安装扩展。

若要从当前目录安装开发中的扩展，使用 `.` 作为 `repo` 参数的值。

```shell
gh extension install REPO
```

如果已安装同名的扩展，则该命令将失败。 例如，如果已安装 `octocat/gh-whoami`，则必须在安装 `hubot/gh-whoami` 之前卸载它。

## 运行扩展

安装扩展后，可以像运行原生的 GitHub CLI 命令一样，使用 `gh EXTENSION-NAME` 来运行该扩展。 `EXTENSION-NAME` 是扩展所在存储库的名称，但需要减去 `gh-` 前缀。

例如，假设扩展是从 `octocat/gh-whoami` 存储库安装的，则使用以下命令运行该扩展。

```shell
gh whoami
```

通常可以在扩展所在存储库的 README 文件中查找有关如何使用该扩展的特定信息。

## 查看已安装的扩展

若要查看已安装的所有扩展，请使用 `extensions list` 子命令。 输出还将告诉您哪些扩展具有可用的更新。

```shell
gh extension list
```

## 更新扩展

若要更新扩展，请使用 `extensions upgrade` 子命令。 将 `extension` 参数替换为扩展的名称。

```shell
gh extension upgrade EXTENSION
```

若要更新所有已安装的扩展，请使用 `--all` 标志。

```shell
gh extension upgrade --all
```

## 卸载扩展

若要卸载扩展，请使用 `extensions remove` 子命令。 将 `extension` 参数替换为扩展的名称。

```shell
gh extension remove EXTENSION
```