You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Artifact Registry删除同版本npm包后发布仍提示版本已存在

解决Google Artifact Registry删除旧版本后无法重发同版本npm包的问题

根本原因

该报错是Google Artifact Registry(GAR)的软删除机制导致的,并非本地npm缓存问题:GAR默认删除包版本后会保留30天的可恢复周期,被删除的版本号不会立刻释放,因此即便你在控制台手动删除了对应版本、npm view返回空结果,服务端仍然会判定该版本已存在。

解决方案

方案1:升级版本号发布(最高效)

直接修改项目package.json中的version字段,升级到未发布过的版本号(例如从0.1.3改为0.1.4),再执行npm publish即可正常发布,不需要额外配置操作。

方案2:强制永久删除软删除版本(需保留原版本号时使用)

如果你必须使用0.1.3这个版本号,可以通过gcloud命令强制清除软删除状态的版本,释放版本号:

  1. 先执行以下命令确认目标版本处于软删除列表中:
gcloud artifacts versions list --package=<替换为你的npm包名> --repository=<替换为你的GAR仓库名> --location=<替换为仓库所在区域> --show-deleted
  1. 执行永久删除命令:
gcloud artifacts versions delete 0.1.3 --package=<替换为你的npm包名> --repository=<替换为你的GAR仓库名> --location=<替换为仓库所在区域> --delete-forever
  1. 等待1-5分钟待GAR后台数据同步完成后,再执行npm publish即可。

方案3:清理本地npm缓存(备选排查方案)

如果上述操作完成后仍然报错,可以尝试清理本地npm缓存排除本地异常:

npm cache clean --force

之后删除项目根目录下的package-lock.json文件和node_modules目录,重新执行npm install安装依赖后再尝试发布。

内容的提问来源于stack exchange,提问作者Ihor Sakailiuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:30:05