# npm uninstall

卸载包

# 概要

npm uninstall [<@scope>/]<pkg>...

aliases: unlink, remove, rm, r, un

# 描述

这将卸载一个包,完全删除 npm 安装的所有东西。

它还从您的 dependencies 中的 dependenciesdevDependenciesoptionalDependenciespeerDependencies 对象中删除包。

此外,如果你有一个 npm-shrinkwrap.jsonpackage-lock.json, npm 也会更新这些文件。

--no-save 会告诉 npm 不要从你的 package.jsonnpm-shrinkwrap.jsonpackage-lock.json 文件中删除包。

--save-S 会告诉 npm 从你的 package.jsonnpm-shrinkwrap.jsonpackage-lock.json 文件中删除包。这是默认值,但是如果 npmrc 文件中有 save=false,则可能需要使用它。

在全局模式下(即在命令后加上 -g--global),它将当前包上下文作为全局包卸载。在这种情况下,--no-save 被忽略。

范围是可选的,并遵循 scope 的通常规则。

# 例子

npm uninstall sax

sax 将不再位于您的 package.jsonnpm-shrinkwrap.jsonpackage-lock.json 文件中。

npm uninstall lodash --no-save

lodash 不会从您的 package.jsonnpm-shrinkwrap.jsonpackage-lock.json 文件中删除。

# 配置

# save

  • Default: true 除非在使用 npm update 时默认为 false
  • Type: Boolean

将已安装的软件包保存为 package.json 文件作为依赖项。

npm rm 命令一起使用时,从 package.json 移除依赖关系。

如果设置为 package.json,也将阻止写入 false

# 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 配置中指定了一个或多个工作空间。

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

# include-workspace-root

  • Default: false
  • Type: Boolean

当为某个命令启用工作区时,请包含工作区根目录。

当为 false 时,通过 workspace 配置指定单个工作空间,或通过 workspaces 标志指定所有工作空间,将导致 npm 仅在指定的工作空间上运行,而不是在根项目上运行。

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

  • Default: false
  • Type: Boolean

当设置文件: 存在于项目根目录之外的协议依赖项将被打包并安装为常规依赖项,而不是创建符号链接。此选项对工作区没有影响。

Last Updated: 6/17/2023, 6:57:19 PM