是否有删除所有全局npm模块的命令?如果没有,你有什么建议?
当前回答
下面的命令删除所有全局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全局删除所有来自前一个管道的模块
其他回答
对于使用Powershell的用户:
npm -gp ls --depth=0 | ForEach-Object { Get-Item $_ } | Where { $_.Name -ne 'npm' } | ForEach-Object { npm rm -g $_.Name }
清除缓存。
npm cache clear
sudo npm uninstall npm -g
或者,如果失败了,获取npm源代码,并执行:
sudo make uninstall
手动删除所有与npm相关的内容:
rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/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下工作。
只要把你的控制台:
Sudo NPM list -g——depth=0。| awk -F ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
这是我的工作……
npm README。md:
如果您想删除已安装的所有软件包,请 然后您可以使用NPM ls命令来查找它们,然后NPM rm来 移除它们。 移除npm 0留下的杂物。X,你可以使用包含的 Clean-old.sh脚本文件。你可以这样方便地运行它: NPM探索NPM -g——sh scripts/clean-old.sh
推荐文章
- npm start和npm run start的区别
- 有没有办法修复包锁。json lockfileVersion所以npm使用特定的格式?
- 如何使用npm全局安装一个模块?
- 实时http流到HTML5视频客户端的最佳方法
- 使用node.js下载图像
- Node.js Express中的HTTP GET请求
- Node.js:将文本文件读入数组。(每一行都是数组中的一项。)
- npm犯错!错误:EPERM:操作不允许,重命名
- Node Sass还不支持当前环境:Linux 64位,带false
- 我如何添加环境变量启动。VSCode中的json
- 解析错误:无法读取文件“…/tsconfig.json”.eslint
- 编译typescript时'tsc命令未找到'
- 在Node.js中'use strict'语句是如何解释的?
- 当WebSockets可用时,为什么要使用AJAX ?
- 使用过程。TypeScript中的env