作为包所有者或协作者,如果您的包没有依赖项,则可以使用 CLI 将其从 npm 注册表中永久删除。您可以在初始发布后的 72 小时内 取消发布;超过 72 小时后,如果您 满足某些条件,您仍然可以取消发布您的包。

这些条件旨在避免破坏 JavaScript 包生态系统。如果您无法取消发布您的包,您可以 改为弃用它

注意:从包中删除所有协作者或团队将不会取消发布它。

取消发布包

如果您想从注册表中完全删除包的所有版本,您可以完全取消发布它。这将从注册表中删除它,并且将无法安装它。

要取消发布包,您必须满足 包取消发布规则 的要求。

使用网站

  1. 在 npm 的“登录”页面上,输入您的帐户详细信息,然后单击 登录. Screenshot of npm login dialog
  2. 导航到您要取消发布的包的包页面,将 <your-package-name> 替换为您包的名称:https://npmjs.net.cn/package/<your-package-name>

  3. 单击设置

    Screenshot showing the admin tab on a package page
  4. 在“删除包”下,单击删除包

    Screenshot showing the admin tab on a package page

    注意:如果您无法删除包,因为它不满足 取消发布要求,则删除包选项将不可用。相反,系统将提示您 弃用包

  5. 如果您确定要继续,请输入您的包名称,然后单击删除包

    Screenshot showing the admin tab on a package page

使用命令行

要取消发布整个包,请运行以下命令,将 <package-name> 替换为您包的名称

npm unpublish <package-name> -f

如果您为写入启用了 双因素身份验证,则需要在 unpublish 命令中添加一次性密码,--otp=123456(其中 123456 是来自身份验证器应用程序的代码)。

如果您在取消发布包方面需要帮助,请 联系 npm 支持。如果您是企业客户,请联系 企业支持

注意:如果您取消发布整个包,您可能无法发布该包的任何新版本,直到经过 24 小时。

取消发布包的单个版本

如果您想删除包的单个版本,您可以取消发布一个版本而不影响其他版本。这将仅从注册表中删除该版本,并且将无法安装它。此选项仅可通过 npm CLI 使用。

使用命令行

要取消发布包的单个版本,请运行以下命令,将 <package-name> 替换为您包的名称,将 <version> 替换为您的版本号

npm unpublish <package-name>@<version>

何时取消发布

取消发布包会将包永久从注册表中删除,因此其他用户将无法再安装它。取消发布包后,在同名下重新发布将被阻止 24 小时。如果您意外取消发布了包,建议您以其他名称重新发布,或者对于取消发布的版本,增加版本号并重新发布。

您可能希望取消发布包,因为您

  • 意外发布了一些内容。
  • 想要测试 npm。
  • 发布了您 无意公开 的内容。
  • 想要重命名包。(重命名包的唯一方法是在新名称下重新发布它)

注意:package-name@version 是唯一的,无法通过取消发布和重新发布它来重复使用。建议改为发布次要版本更新。

何时弃用

如果您不再有兴趣维护包,但希望它继续可供用户安装,或者您的包有依赖项,建议您 弃用 它。要了解如何弃用包,请参阅“弃用和取消弃用包或包版本”。