# npm unpublish

从注册中心中删除软件包

# 概要

npm unpublish [<package-spec>]

注意

要了解更多关于 npm 注册中心如何处理未发布的问题,请参阅我们的未发布策略。

# 描述

如果您的目的是鼓励用户进行升级,或者您不想再维护某个包,那么可以考虑使用 deprecate 命令。

这将从注册中心中删除一个包版本,删除它的条目并删除 tarball。

如果你没有登录,npm 注册中心将返回一个错误。

如果您没有指定一个版本,或者如果您删除一个包的所有版本,那么注册中心将完全删除根包条目。

即使取消发布包版本,也永远不能重用特定的名称和版本组合。为了再次发布包,必须使用新的版本号。如果您取消发布整个包,则在 24 小时之后才可以发布该包的任何新版本。

# 配置

# dry-run

  • Default: false
  • Type: Boolean

表示您不希望 npm 进行任何更改,并且只报告它应该做的事情。这可以传递到任何修改本地安装的命令中,例如:install, update, dedupe, uninstall 以及 pack 和 publish。

注意

其他相关命令不支持此功能,例如 dist-tags, owner 等。

# force

  • Default: false
  • Type: Boolean

删除了针对副作用、常见错误、不必要的性能下降和恶意输入的各种保护。

  • 允许在全局安装中清除 non-npm 文件。
  • 允许 npm version 命令在不干净的 git 存储库上工作。
  • 允许删除缓存文件夹 npm cache clean
  • 允许安装 engines 声明需要不同版本的 npm 的包。
  • 允许安装 engines 声明需要不同版本的软件包 node,即使 --engine-strict 已启用。
  • 允许 npm unpublish fix 安装指定依赖范围之外的模块(包括 SemVer-major 的更改)。
  • 允许取消发布已发布包的所有版本。
  • 允许在根项目中安装冲突的 peerDependencies。
  • npm init 中隐式设置 --yes
  • 允许删除 npm pkg 中的现有值。
  • 允许取消发布整个包(不仅仅是单个版本)。

如果您对自己想要做什么没有明确的想法,强烈建议您不要使用此选项!

# workspace

  • Default:
  • Type: String (可以设置多次)

启用在当前项目的已配置工作区的上下文中运行命令,同时通过仅运行此配置选项定义的工作区进行过滤。

workspace 配置的有效值如下:

  • 工作区名称
  • 工作区目录的路径
  • 父工作区目录的路径(将导致选择该文件夹中的所有工作区)

npm init 命令设置时,可以将其设置为尚不存在的工作空间的文件夹,以创建文件夹并将其设置为项目中的全新工作空间。

此值不会导出到子进程的环境中。

# workspaces

  • Default: null
  • Type: null or Boolean

设置为 true 将在所有配置的工作区中运行该命令。

显式地将此设置为 false 将导致如下命令 install 完全忽略工作空间。当没有显式设置时:

  • node_modules 树上操作的命令 (install, update, etc.) 时,将把工作区链接到 node_modules 文件夹中。做其他事情的命令 (test, exec, publish, etc.) 将在根项目上操作,除非在 workspace 配置中指定了一个或多个工作空间。

此值不会导出到子进程的环境中。

Last Updated: 4/25/2023, 9:49:29 AM