# npm uninstall
卸载包
# 概要
npm uninstall [<@scope>/]<pkg>...
aliases: unlink, remove, rm, r, un
# 描述
这将卸载一个包,完全删除 npm 安装的所有东西。
它还从您的 dependencies
中的 dependencies
、devDependencies
、optionalDependencies
和 peerDependencies
对象中删除包。
此外,如果你有一个 npm-shrinkwrap.json
或 package-lock.json
, npm 也会更新这些文件。
--no-save
会告诉 npm 不要从你的 package.json
、npm-shrinkwrap.json
或 package-lock.json
文件中删除包。
--save
或 -S
会告诉 npm 从你的 package.json
、npm-shrinkwrap.json
和 package-lock.json
文件中删除包。这是默认值,但是如果 npmrc
文件中有 save=false
,则可能需要使用它。
在全局模式下(即在命令后加上 -g
或 --global
),它将当前包上下文作为全局包卸载。在这种情况下,--no-save
被忽略。
范围是可选的,并遵循 scope
的通常规则。
# 例子
npm uninstall sax
sax
将不再位于您的 package.json
、npm-shrinkwrap.json
或 package-lock.json
文件中。
npm uninstall lodash --no-save
lodash
不会从您的 package.json
、npm-shrinkwrap.json
或 package-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 仅在指定的工作空间上运行,而不是在根项目上运行。
此值不会导出到子进程的环境中。
# install-links
- Default: false
- Type: Boolean
当设置文件: 存在于项目根目录之外的协议依赖项将被打包并安装为常规依赖项,而不是创建符号链接。此选项对工作区没有影响。