我尝试使用
删除软件包npm uninstall (package_name) -s
哪个从package.json中删除了该程序包,但没有从node_modules文件夹中删除它,那么如何从node_modules文件夹中删除这些未使用的程序包?
编辑:
我个人遇到此问题时正在分享此问题解答,使用了npm uninstall
的所有变体但它并未从node_modules中删除该包,因此我分享了帮助我删除该问题的内容大约10个未使用的软件包,它们是npm prune
我希望拒绝投票的人能指导我,让他们更好地回答问题,以感谢他们为什么拒绝投票。
答案 0 :(得分:2)
As per the npm guide,npm uninstall仅从依赖项中删除软件包,它不会从node_modules中删除软件包文件夹(无论如何在说明中均未提及)
出于某种原因,我认为npm卸载也会从node_modules中删除软件包文件夹,但是并没有发生,经过一些研究,我发现我们应该使用
npm prune
此命令将按照the official npm description
自动从node_modules中删除未使用的软件包。编辑:
无论有多少不合理的否决,我都不会删除此问题,因为我一直在寻找这样的提示:
npm卸载只会从您的软件包中删除软件包 package.json文件,但不会从您的node_modules中删除该程序包
我希望这对其他人有帮助,如果发现有帮助,请支持问答。
答案 1 :(得分:0)
我喜欢分享从我的项目中卸载包的过程。我相信它可以为上述答案增加价值。
我在我的一个项目中评估了一个名为 react-router
的包。后来我决定删除它。
我想先删除包,然后从我的代码中删除它的引用。
我试过 npm uninstall
和 npm prune
。但是,在这两种情况下,它都无法从我的 node-modules
文件夹中删除包。
我从代码中删除了 react-router
的引用并再次尝试。我仍然无法使用上述命令将其删除。
经过一番挖掘,我发现我还安装了使用 react-router-dom
包的 react-router
。所以我必须先使用上面的命令删除它。只有这样,我才能删除 react-router
。
我觉得奇怪的是 npm uninstall
不会删除被引用的包。我认为,如果允许,我不必通过在类中搜索它们来手动查找包的用法,而不是 IDE/Lint 可以帮助我更轻松地找到它。