Node.js 全局删除所有npm模块的命令?
是否有删除所有全局npm模块的命令?如果没有,您有什么建议?如果您想删除所有已安装的软件包,您可以使用Node.js 全局删除所有npm模块的命令?,node.js,npm,Node.js,Npm,是否有删除所有全局npm模块的命令?如果没有,您有什么建议?如果您想删除所有已安装的软件包,您可以使用npm-g ls命令查找它们,然后npm-g rm删除它们。以下命令删除所有全局npm模块。注意:这在Windows上不起作用。有关可用的Windows版本,请参阅 以下是它的工作原理: npm ls-gp--depth=0列出了所有全局顶级模块(请参阅) awk-F/'/node_modules/&&/\/npm$/{print$NF}'打印实际上不是npm本身的所有模块(不以/npm结尾)
npm-g ls
命令查找它们,然后npm-g rm
删除它们。以下命令删除所有全局npm模块。注意:这在Windows上不起作用。有关可用的Windows版本,请参阅
以下是它的工作原理:
列出了所有全局顶级模块(请参阅)npm ls-gp--depth=0
打印实际上不是npm本身的所有模块(不以awk-F/'/node_modules/&&/\/npm$/{print$NF}'
结尾)/npm
全局删除前一管道上的所有模块xargs npm-g rm
C:\Users\username\AppData\Roaming\npm
您可以通过在资源管理器、运行提示符或“开始”菜单中键入
%appdata%/npm
快速到达该位置。使用此代码卸载任何软件包:
npm rm -g <package_name>
npm rm-g
我试过了,但对我来说似乎不完美。在deps树本身的最后一次awk
之后,留下了许多特殊符号
因此,我对Kai Sternad的解决方案提出了自己的修改意见(有以下几点帮助):
npm ls-gp--depth=0
以parsable格式列出所有全球安装的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下工作。sed解决方案
npm ls -gp | awk -F/ '/node_modules/&&!/node_modules.*node_modules/&&!/npm/{print $NF}' | xargs npm rm -g
npm -gp ls | sed -r '/npm$|(node_modules.*){2,}/d; s:.*/([^/]+)$:\1:g' | xargs npm rm -g
为我工作
列出所有顶级安装sudo npm list-g--depth=0。
摆脱├──李>awk-F'{print$2}'
获取'@'之前的部分awk-F'@'{print$1}'
全局删除包sudo xargs npm remove-g
%appdata%/npm
目录并运行以下命令即可
for package in `ls node_modules`; do npm uninstall $package; done;
编辑:此命令与npm 3.3.6(节点5.0)中断。我现在使用下面的Bash命令,我已将其映射到.bashrc文件中的npm\u uninstall\u all:
额外奖金?快多了
如果您在windows上,并且想要删除/卸载所有节点模块,那么您需要执行以下步骤
rmdir /s /q node_modules
npm ls -g --json --depth=0 |
jq -r '.dependencies|keys-["npm"]|join("\n")' |
xargs npm rm -g
在Debian和Debian上,您可以通过以下方式安装:
对于使用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列表-g——深度=0.|awk-F'{print$2}'|awk-F'@'{print$1}'| sudo xargs npm remove-g
它对我有用…操作系统不是由OP指定的。对于Windows,此脚本可用于核化本地和用户的全局模块和缓存 我在linux上注意到,全局根对于系统来说是真正全局的,而不是给定的用户。因此,对于共享系统来说,删除全局根可能不是一个好主意。除此之外,如果感兴趣,我可以将脚本移植到bash 对于Windows,保存到cmd文件以运行
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SETLOCAL EnableExtensions
SET /A ecode=0
:: verify
SET /P conf="About to delete all global and local npm modules and clear the npm cache. Continue (y/[n])?
IF /I NOT "%conf%"=="y" (
ECHO operation aborted
SET /A ecode=!ecode!+1
GOTO END
)
:: wipe global and local npm root
FOR %%a IN ("" "-g") DO (
:: get root path into var
SET cmd=npm root %%~a
FOR /f "usebackq tokens=*" %%r IN (`!cmd!`) DO (SET npm_root=%%r)
:: paranoid
ECHO validating module path "!npm_root!"
IF "!npm_root:~-12!"=="node_modules" (
IF NOT EXIST "!npm_root!" (
ECHO npm root does not exist "!npm_root!"
) ELSE (
ECHO deleting "!npm_root!" ...
:: delete
RMDIR /S /Q "!npm_root!"
)
) ELSE (
ECHO suspicious npm root, ignoring "!npm_root!"
)
)
:: clear the cache
ECHO clearing the npm cache ...
call npm cache clean
:: done
ECHO done
:END
ENDLOCAL & EXIT /b %ecode%
如果您有Intellij Webstorm,则可以使用其内置的图形包管理器 以root用户身份打开它并创建emtpy项目。去 文件>设置>语言和框架>Node.js和NPM 在那里,您将看到所有已安装的软件包。卸载很容易,您可以选择和取消选择要卸载的任何软件包,也可以按住Ctrl+a键。在windows中转到
“C:\Users{username}\AppData\Roaming”目录并手动删除npm文件夹您做得很好。这是在一行代码中组合的建议
npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`
有什么不同?卸载将通过以下单个命令完成:
npm rm-g************
您可以在以下位置找到所有已安装的npm软件包:
C:\Users\username\AppData\Roaming\npm
并删除要删除的npm的内容
如果AppData没有显示,这意味着它是隐藏的,您可以在文件资源管理器中查看并检查隐藏的项目,然后在那里您可以看到所有隐藏的文件夹。因为这是搜索中最重要的答案,所以我将此贴在这里,因为这是我过去用来清理电脑切换笔记本电脑的解决方案
cd~/Documents#或将项目存放在何处
找到-名称“node_modules”-exec rm-rf'{}”+
来源:用于
纱线全球
nano~/.config/warn/global/package.json
纱线全球添加
或者,如果您不关心包.json中的实际内容
echo{}>~/.config/thread/global/package.json&&thread global add
这应该也适用于NPM,但我不确定NPM global存储在哪里。这里有一个更优雅的解决方案,我尝试让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 uninstall
或npm remove
操作,这些模块将被视为项目的正常依赖项。完成后,它甚至会生成一个package-lock.json文件:
$ npm remove <package-name> # you may need sudo if it was installed using sudo
$npm remove#如果是使用sudo安装的,则可能需要sudo
如果您有适用于Windows的MSYS:
rm -rf ${APPDATA//\\/\/}/npm
npm README.md stat
npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`
C:\Users\username\AppData\Roaming\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 remove <package-name> # you may need sudo if it was installed using sudo
rm -rf ${APPDATA//\\/\/}/npm