Google Artifact Registry:即使删除包后也无法发布相同版本的包

Iho*_*yuk 4 npm google-cloud-platform google-artifact-registry

我正在尝试将 npm 包发布到 google 工件注册表(GAR)。

具有相同版本的软件包已经发布,但我已从 GAR 中手动将其删除。

npm view <package-name>@0.1.3

<empty response>
Run Code Online (Sandbox Code Playgroud)

但仍然无法发布包。

npm publish

npm ERR! code E400
npm ERR! 400 Bad Request - PUT https://<package-url> - Requested version(0.1.3) already exists.
Run Code Online (Sandbox Code Playgroud)

看起来它已经被缓存在某个地方了。如果是的话是否有可能清除缓存?

Ral*_*mos 5

实际上,根据此文档,Cloud Artifacts Registry 不允许这样做:

您只能发布一次包的特定版本。这是 npm 的限制,旨在确保已发布的包版本的内容始终相同。因此,您不能:

  • 通过再次将包版本发布到存储库来覆盖包版本
  • 从存储库中删除包或其版本,然后发布具有相同名称和版本号的包

因此,您将必须创建另一个版本才能发布该包。

  • 没问题,很高兴为您提供帮助,顺便说一句,如果您愿意,您可以通过在 [Google 的问题跟踪器](https://issuetracker.google.com/issues/new) 中打开功能请求来提出对此进行更改的理由?component=187156&amp;template=0),所以他们的产品团队可以考虑。 (2认同)