为了账号安全,请及时绑定邮箱和手机立即绑定

命令全局删除所有npm模块?

命令全局删除所有npm模块?

慕姐4208626 2019-12-07 13:56:56
是否有删除所有全局npm模块的命令?如果没有,您有什么建议?
查看完整描述

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 全局删除前一个管道上的所有模块


查看完整回答
反对 回复 2019-12-07
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

对于使用Windows的用户,删除所有全局安装的npm软件包的最简单方法是删除以下内容:


C:\Users\username\AppData\Roaming\npm


您可以通过键入%appdata%(在资源管理器,运行提示或开始菜单中)快速到达此处。


查看完整回答
反对 回复 2019-12-07
?
波斯汪

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下工作。


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 5876 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信