众所周知,任何npm模块都可以通过运行一个简单的命令安装:npm install <module_name>。

我已经安装了一些我不再使用的模块,我只是想把它们弄掉。我对此有几个问题:

我们是否有任何命令或过程来从根目录卸载一个模块(比如npm uninstall <module_name>) 或者仅仅删除模块文件就可以了? 如果我们保留未使用的模块会对我们有什么影响?


当前回答

卸载Node.js模块:

npm uninstall <module_name>

这将从node_modules文件夹中删除模块,但不会从package.json文件中删除模块。所以当我们再次执行npm install时,它会下载这个模块。

从文件包中删除模块。json,使用:

npm uninstall <module_name> --save

这也会从package.json文件中删除依赖项。

如果你想卸载任何你可以使用的全局模块:

npm -g uninstall <module_name> --save

这将全局删除依赖项。

其他回答

我发现这一点很艰难,即使它看起来很明显。

我最初尝试在脚本中使用一个简单的for循环运行npm uninstall module-name遍历node_modules目录。我发现它不会工作,如果你调用完整的路径,例如,

npm uninstall module-name

在工作,但是

npm uninstall /full/path/to/node_modules/module-name 

没有工作。

你也可以简写如下:

npm联合国包裹包裹或rm包裹

注意:在命令末尾添加-g,用于卸载全局包。

如果你是在Windows上,以管理员身份运行CMD并键入:

npm -g uninstall <package name>

卸载选项没有为我工作时,我试图使用相同的命令,我在安装(因为我正在安装@latest指令)

举个例子,我安装了一个这样的包:

npm install  @ngtools/webpack@latest

然后我想卸载它,所以我使用了相同的命令(包括@latest):

npm uninstall  @ngtools/webpack@latest

所以上面的卸载没有工作。我必须删除@latest,然后它工作得很好:

npm uninstall  @ngtools/webpack

如果你想卸载一些模块,那么只需要运行npm uninstall。

然后进入文件包。然后从那里删除不需要的模块,然后运行NPM install命令。它应该能解决你的问题。