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


当前回答

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

其他回答

如果你有MSYS for Windows:

rm -rf ${APPDATA//\\/\/}/npm

如果你想删除你已经安装的所有包,你可以使用npm -g ls命令找到它们,然后npm -g rm删除它们。

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

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

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

下面的命令删除所有全局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全局删除所有来自前一个管道的模块

好吧,如果你在windows上,想要删除/卸载所有的node_modules,那么你需要执行以下步骤。

进入windows命令提示符 导航到node_modules目录(不在node_modules文件夹内) 输入下面的命令,并给它1-2分钟,它将卸载node_module中的所有目录 Rmdir /s /q node_modules .使用实例

希望这对窗户上的人有所帮助