

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 更新程序包版本的状态
<a name="working-with-packages-update-version-status"></a>

中的每个软件包版本都 CodeCatalyst 有一个描述软件包版本的当前状态和可用性的状态。您可以在 CodeCatalyst控制台中更改软件包版本状态。有关程序包版本可能的状态值及其含义的更多信息，请参阅[程序包版本状态](#package-version-status)。

**更新程序包版本的状态**

1. 在导航窗格中，选择**程序包**。

1. 在**程序包存储库**页面上，选择包含要更新状态的程序包版本的存储库。

1. 从表中搜索并选择程序包。

1. 在**程序包详细信息**页面上，选择**版本**，然后选择要查看的版本。

1. 在**程序包版本详细信息**页面上，选择**操作**，然后选择**未列出**、**存档**或**处置**。有关每种程序包版本状态的更多信息，请参阅[程序包版本状态](#package-version-status)。

1. 在文本字段中输入确认文本，然后根据要更新到的状态，选择**未列出**、**存档**或**处置**。

## 程序包版本状态
<a name="package-version-status"></a>

程序包版本状态的可能值如下所示。您可以在控制台中更改程序包版本状态。有关更多信息，请参阅 [更新程序包版本的状态](#working-with-packages-update-version-status)。
+  **已发布** – 已成功发布程序包版本，可以使用程序包管理器来请求版本。程序包版本将包括在返回给程序包管理器的程序包版本列表中，例如，在 `npm view <package-name> versions` 的输出中。程序包版本的所有资产均可从存储库中获得。
+  **未完成**：上次发布尝试未完成。当前，只有 Maven 程序包版本可以处于**未完成**状态。当客户端上传程序包版本的一个或多个资源，但没有为包括该版本的程序包发布 `maven-metadata.xml` 文件时，就会发生这种情况。
+  **未列出**：程序包版本的资产可从存储库下载，但该程序包版本未包含在向程序包管理器返回的版本列表中。例如，对于 npm 程序包，`npm view <package-name> versions` 的输出不包括该程序包版本。因为在可用版本列表中未显示该版本，这意味着 npm 的依赖项解析逻辑不会选择该程序包版本。但是，如果 `npm package-lock.json` 文件中已经引用了**未列出**的程序包版本，则仍然可以下载和安装该版本，例如在运行 `npm ci` 时。
+  **已存档**：该程序包版本的资产无法再下载。在返回给程序包管理器的版本列表中不会包括该程序包版本。由于资产不可用，因此会阻止客户端使用程序包版本。如果您的应用程序构建依赖于更新为**已存档**的版本，那么构建就会失败，除非该程序包版本已在本地缓存。您不能使用程序包管理器或构建工具来重新发布**已存档**的程序包版本，因为它仍然存在于存储库中。但是，您可以在控制台中将程序包版本状态更改回**未列出**或**已发布**。
+  **已处置**：程序包版本未显示在列表中，也无法从存储库下载资产。“已**处置**” 和 “**已存档**” 之间的主要区别在于，如果状态为 “已**处置**”，则软件包版本的资产将被永久删除 CodeCatalyst。因此，您无法将程序包版本从**已处置**更改为**已存档**、**未列出**或**已发布**。由于已删除资产，因此无法使用该程序包版本。将程序包版本标记为**已处置**后，您无需再支付程序包资产的存储费用。

 除了前面列表中的状态外，程序包版本还可以删除。删除程序包版本后，存储库中将没有该版本，您可以使用程序包管理器或构建工具随意地重新发布该程序包版本。

## 程序包名称、程序包版本和资产名称规范化
<a name="package-name-normalization"></a>

CodeCatalyst 在存储软件包名称、软件包版本和资源名称之前对其进行标准化，这意味着中的名称或版本 CodeCatalyst 可能与发布软件包时提供的名称或版本不同。有关如何标准化每种软件包类型的名称和版本 CodeCatalyst 的更多信息，请参阅以下文档。
+ [Python 程序包名称规范化](python-name-normalization.md)
+ [NuGet 软件包名称、版本和资产名称标准化](nuget-name-normalization.md)

CodeCatalyst 不对其他包格式执行标准化。