是否有删除所有全局npm模块的命令?如果没有,你有什么建议?


当前回答

Windows:

rmdir /s /q "%appdata%/npm"

其他回答

你都做得很好。这是将建议合并到一行代码中。

npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`

有什么不同?卸载将通过如下命令完成:npm rm -g *** *** ***

我尝试了凯·斯特纳德的解决方案,但对我来说似乎并不完美。在最后一个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下工作。

如果你安装了jq,即使没有grep/awk/sed,你也可以运行:

npm ls -g --json --depth=0 |
  jq -r '.dependencies|keys-["npm"]|join("\n")' |
  xargs npm rm -g

在Debian和衍生版本上,你可以安装jq:

sudo apt-get install jq
sudo npm list -g --depth=0. | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}'  | sudo xargs npm remove -g

为我工作

Sudo NPM list -g——depth=0。列出所有已安装的顶级 awk -F ' ' '{print $2}'摆脱├── awk -F '@' '{print $1}'获取'@'之前的部分 Sudo xargs NPM remove -g全局删除包

如果你有Intellij Webstorm,你可以使用它内置的图形包管理器。

以root用户打开并创建一个空项目。去

>文件设置>语言和框架> Node.js和NPM

在那里您将看到所有已安装的包。卸载很容易,你可以选择和取消选择任何包,你想卸载,Ctrl+一个工作以及。