npm报Invalid response body错误 无法安装依赖及使用npx问题求助
问题现象
最开始运行npm时收到警告:npm WARN config global --global, --local are deprecated. Use --location=global instead,手动修改npm、npm.cmd、npx、npx.cmd四个文件尝试修复警告后,出现两类异常:
- 所有依赖无法安装
- npx无法正常使用,比如执行
npx create-react-app my-app直接失败
核心报错信息为:npm "Invalid response body while trying to fetch",对应报错分别出现在安装依赖、运行npx两个场景。
目前yarn可正常运行,例如执行yarn add express无任何问题。
已尝试的排查方案(均无效)
- 执行
npm cache clean --force - 执行
npm cache verify - 删除路径
C:\Users\reaga\AppData\Local\下的npm-cache文件夹 - 完全卸载Node.js后重新安装LTS版本
- 完全卸载Node.js后重新安装当前最新版本
- 执行
npm config set cache C:\reaga\nodejs\npm-cache --global修改npm-cache文件夹存储位置 - 临时关闭杀毒软件
解决步骤
- 彻底清理Node残留后重装,禁止手动修改核心脚本
手动修改npm、npx的cmd脚本时如果改坏了文件编码、替换内容出错,哪怕重装Node也可能因为残留配置出问题。按以下路径彻底删干净残留:- Node安装目录(默认是
C:\Program Files\nodejs,自定义安装的找对应路径) - 用户目录下的npm相关目录:
C:\Users\reaga\AppData\Roaming\npm、C:\Users\reaga\AppData\Roaming\npm-cache - 用户目录下的npm配置文件:
C:\Users\reaga\.npmrc,这个文件必须删除,之前手动修改的缓存路径、异常配置都存在这里
删完重启电脑,重新安装Node LTS版本,安装时勾选「Add to PATH」选项,装完新开命令行窗口,先不要改任何配置,执行npm -v、npx -v确认能正常输出版本号。那个--global弃用警告只是版本兼容提示,不影响功能使用,等官方后续版本修复即可,不要手动改核心脚本。
- Node安装目录(默认是
- 重置npm源和代理配置
yarn能正常访问网络说明本地网络没问题,异常出在npm的配置上:- 执行
npm config get registry查看当前源,如果不是官方源或可信国内镜像,执行npm config set registry https://registry.npmmirror.com切到国内镜像源 - 执行以下命令清空可能残留的代理配置:
npm config delete proxy npm config delete https-proxy
- 执行
内容的提问来源于stack exchange,提问作者ReaganS94
相关产品推荐
相关产品推荐

