3 回答
TA贡献1757条经验 获得超7个赞
以下命令删除所有全局npm模块。注意:这在Windows上不起作用。有关可用的Windows版本,请参见Ollie Bennett的答案。
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
下面是它的工作原理:
npm ls -gp --depth=0列出所有全局顶级模块(有关ls,请参阅cli文档)
awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'打印实际上不是npm本身的所有模块(不以结尾/npm)
xargs npm -g rm 全局删除前一个管道上的所有模块
TA贡献1893条经验 获得超10个赞
对于使用Windows的用户,删除所有全局安装的npm软件包的最简单方法是删除以下内容:
C:\Users\username\AppData\Roaming\npm
您可以通过键入%appdata%(在资源管理器,运行提示或开始菜单中)快速到达此处。
TA贡献1811条经验 获得超4个赞
我尝试了Kai Sternad的解决方案,但对我来说似乎并不完美。awk在deps树本身的最后一个之后,还有许多特殊符号。
因此,我想出了自己对Kai Sternad解决方案的修改(在Cashmere想法的帮助下):
npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm|)$' | xargs -r npm -g rm
npm ls -gp --depth=0以可分析的格式列出所有全局安装的npm模块:
/home/leonid/local/lib
/home/leonid/local/lib/node_modules/bower
/home/leonid/local/lib/node_modules/coffee-script
...
awk -F/node_modules/ '{print $2}' 从路径中提取模块名称,形成所有全局安装的模块的列表。
grep -vE '^(npm|)$' 删除npm本身和空白行。
xargs -r npm -g rm调用npm -g rm列表中的每个模块。
像Kai Sternad的解决方案一样,它只能在* nix下工作。
- 3 回答
- 0 关注
- 5876 浏览
添加回答
举报