是否有删除所有全局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下工作。
其他回答
你都做得很好。这是将建议合并到一行代码中。
npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`
有什么不同?卸载将通过如下命令完成:npm rm -g *** *** ***
因为这是搜索中最热门的答案,所以我把它贴在这里,因为这是我过去用来清洁电脑切换笔记本电脑的解决方案。
cd ~/Documents # or where you keep your projects
find . -name "node_modules" -exec rm -rf '{}' +
来源:https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
如果你有MSYS for Windows:
rm -rf ${APPDATA//\\/\/}/npm
下面是我尝试的一个更优雅的解决方案,我让npm为我做所有的工作。
# On Linux Mint 19.1 Cinnamon
# First navigate to where your global packages are installed.
$ npm root # returns /where/your/node_modules/folder/is
$ cd /where/your/node_modules/folder/is # i.e for me it was cd /home/user/.npm-packages/lib/node_modules
然后,如果你进行npm卸载或npm删除,这些模块将被视为正常的项目依赖项。它甚至生成一个包锁。Json文件,当它完成:
$ npm remove <package-name> # you may need sudo if it was installed using sudo
只需切换到您的%appdata%/npm目录并运行以下…
for package in `ls node_modules`; do npm uninstall $package; done;
EDIT:这个命令在npm 3.3.6 (Node 5.0)中中断。我现在使用以下Bash命令,我已经映射到我的.bashrc文件中的npm_uninstall_all:
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
额外的好处?这要快得多!
https://github.com/npm/npm/issues/10187
如何卸载包中列出的所有依赖项。json (NPM) ?
推荐文章
- ReferenceError: description没有定义NodeJs
- 将一个二进制的NodeJS Buffer转换为JavaScript的ArrayBuffer
- AngularJS只适用于单页应用程序吗?
- 如何在vue-cli项目中更改端口号
- 如何查看npm包的大小?
- 同步和异步编程(在node.js中)的区别是什么?
- 如何编辑通过npm安装的节点模块?
- “node_modules”文件夹应该包含在git存储库中吗
- 使用package.json在全局和本地安装依赖项
- this.libOptions.parse不是一个函数
- 对嵌套文件夹运行npm install的最好方法是什么?
- 节点Multer异常字段
- 在Ubuntu上安装Bower
- 很好的初学者教程socket.io?
- CALL_AND_RETRY_LAST分配失败-进程内存不足