假设我用npm install来安装项目包。Json,用于安装模块。过了一段时间,我看到我不需要某些特定的模块,并从package.json中删除其依赖项。然后我从包中删除一些其他模块。Json,因为它们不再被需要,其他的被替代。
现在我想清理node_modules文件夹,以便只有模块在包中列出。Json保留在那里,其余的必须离开,类似于NPM清理。我知道我可以手动删除它们,但希望有一些很好的准备使用糖的功能。
假设我用npm install来安装项目包。Json,用于安装模块。过了一段时间,我看到我不需要某些特定的模块,并从package.json中删除其依赖项。然后我从包中删除一些其他模块。Json,因为它们不再被需要,其他的被替代。
现在我想清理node_modules文件夹,以便只有模块在包中列出。Json保留在那里,其余的必须离开,类似于NPM清理。我知道我可以手动删除它们,但希望有一些很好的准备使用糖的功能。
当前回答
Rimraf是一个在windows下模拟Linux命令[rm -rf]的包。这对于跨平台支持非常有用。安装命令行:
npm install rimraf -g
其他回答
我找到的最好的一篇文章是:https://trilon.io/blog/how-to-delete-all-nodemodules-recursively
所有从控制台和容易执行从任何文件夹点。
但是作为本文的总结,这个命令用于查找不同项目中每个node_module文件夹的大小。
find . -name "node_modules" -type d -prune -print | xargs du -chs
要移除它们:
find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;
本文还包含关于windows shell的说明。
从6.5.0版本开始,npm支持clean-install (ci)命令来硬刷新所有包。
请参阅参考资料:
npm 6。x: npm-ci | npm Docs。 npm 7。x: npm-ci | npm Docs。 npm博客档案:为更快、更可靠的构建引入npm ci。
我在package.json中添加了几行:
"scripts": {
...
"clean": "rmdir /s /q node_modules",
"reinstall": "npm run clean && npm install",
"rebuild": "npm run clean && npm install && rmdir /s /q dist && npm run build --prod",
...
}
如果你只想清理,你可以使用这个rimraf node_modules或rm -rf node_modules。
它运行正常
使用以下命令代替npm install
npm ci
还可以将npx与rimraf结合使用,用一个命令删除所有节点模块,这样就不必首先安装rimraf。
因此,使用cmd(如果您还没有在那里)转到您的node_modules文件夹所在的路径,并运行以下命令
npx rimraf node_modules