如何清理不在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