&引用;npm卸载“;Vs";npm卸载--保存“;

&引用;npm卸载“;Vs";npm卸载--保存“;,npm,Npm,“npm uninstall packageName”删除该包,并更新package.json文件 但是从npm文件- 要从package.json中的依赖项中删除包,请使用--save标志。如果包已确定范围,则包括范围 有人能澄清--save标志的实际作用吗?--save标志表示将从package.json中删除模块记录。 默认情况下,如果在没有参数的情况下调用uninstall命令,npm将从package.json中删除模块记录,并从node_modules中删除模块文件夹。在以前版本的n

“npm uninstall packageName”删除该包,并更新package.json文件

但是从npm文件-

要从package.json中的依赖项中删除包,请使用--save标志。如果包已确定范围,则包括范围

有人能澄清--save标志的实际作用吗?

--save
标志表示将从package.json中删除模块记录。 默认情况下,如果在没有参数的情况下调用
uninstall
命令,npm将从package.json中删除模块记录,并从node_modules中删除模块文件夹。在以前版本的npm中,您应该明确指定该标志

npmjs文件:

npm uninstall采用3个独占的可选标志,用于保存或更新主package.json中的软件包版本:

-S、 --保存:包将从依赖项中删除

-D、 --保存开发:包将从您的开发依赖项中删除

-O、 --保存可选:包将从optionalDependencies中删除

--不保存:包不会从Package.json文件中删除


您的语句“包将仅从node_modules文件夹中删除,但package.json中的记录将保持不变”是错误的。我在本地学校考试。卸载包时,依赖项属性中的条目将被删除。这就是为什么在我的问题中我已经提到了。是的,你是对的。npm在一个最新版本中更改了安装/卸载命令的行为。我正在使用npm 5.6.0。我在两个方面进行了测试。首先,我手动引用package.json文件中的包,然后运行“npm安装”。在第二个测试中,我使用“npm install packageName”安装了这个包。当我运行“npm uninstall PackageName”时,在这两种情况下,package.json文件都会相应地更新。我还检查了,一个包在dependencies下,另一个包在“devDependencies”中。在所有情况下,不带--save标志的卸载命令的行为都相同。我认为这个npm版本没有区别。