如何清理不在package.json中的包的node_modules文件夹?
假设我使用npm install来安装工程包,该工程包npm install针对要安装的模块查找package.json 。 过了一会儿,我看到我不需要一些特定的模块,并从package.json删除它的依赖。 然后,我从package.json删除了一些其他模块,因为它们不再需要了,而其他模块被replace。 
 现在我想清理node_modules文件夹,这样只有package.json列出的模块停留在那里,其余的必须node_modules ,像npm clean 。 我知道我可以手动删除它们,但想有一些不错的准备使用糖的function。 
 我想你正在寻找npm prune 
npm prune [<name> [<name ...]]这个命令删除“无关”的包。 如果提供了一个包名称,那么只有与所提供的名称匹配的包才会被删除。
无关程序包是父程序包的依赖项列表中未列出的程序包。
请参阅文档: https : //docs.npmjs.com/cli/prune
由于其文件夹嵌套,Windows无法删除该文件夹,因为其名称太长。 为了解决这个问题,安装RimRaf:
 npm install rimraf -g rimraf node_modules 
您可以删除您的node_modules /文件夹,然后从package.json重新安装依赖项。
 rm -rf node_modules/ npm install 
这将擦除当前文件夹中的所有已安装的软件包,并仅从package.json安装依赖项。 如果之前已经安装了依赖关系,npm将尝试使用caching版本,避免再次下载依赖关系。
简单的运行
 rm -r node_modules 
其实你可以用这个删除任何文件夹。
像rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete 。
只需打开gitbash移动到文件夹的根目录并运行此命令
希望这会有所帮助。
对于Windows用户,替代解决scheme删除此处列出的文件夹: http : //ask.osify.com/qa/567
其中,一个免费的工具: 长path固定器是很好的尝试: http : //corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php
首先全球安装rimraf
 npm install rimraf -g 
使用cmd转到你的node_modules文件夹并应用下面的命令
 rimraf node_modules