Ubuntu 20.04下npx运行create-react-app时loose-envify返回无效JSON报错
Ubuntu 20.04 下 create-react-app 安装报 JSON 响应无效的解决方案
报错本质为:npm请求拉取loose-envify包元数据时,拿到的响应是被截断的不完整内容,因此无法解析为合法JSON。切换不同网络仍复现的核心原因通常不是带宽不足,而是本地配置、缓存、版本兼容类问题。
分步排查解决
- 强制清理本地损坏的npm缓存
切换网络仍复现的常见原因是本地缓存中存储了损坏的历史响应记录,npm会优先读取本地缓存而非重新发起请求,执行清理命令:npm cache clean --force - 校验并修正npm基础配置
依次执行命令检查异常配置:- 查看当前源地址:
npm config get registry
若配置指向不可用的第三方源,切回官方源:npm config set registry https://registry.npmjs.org/ - 检查残留无效代理:
npm config get proxy、npm config get https-proxy
若存在闲置的代理配置直接清空:npm config delete proxy、npm config delete https-proxy - 调整网络超时阈值,避免小文件请求被中途截断:
npm config set fetch-retry-maxtimeout 600000
- 查看当前源地址:
- 解决Node版本兼容问题
Ubuntu 20.04默认源安装的Node.js版本普遍偏旧,自带的HTTP请求库存在请求chunk截断的已知bug,会直接触发JSON解析失败。
先查看当前版本:node -v、npm -v
建议升级到16.x及以上的Node.js LTS版本后再重试安装。 - 绕开npx临时拉取逻辑
直接全局安装最新版create-react-app,避免npx临时拉取依赖过程中出现的截断问题:- 全局安装命令:
npm install -g create-react-app@latest - 执行项目创建命令:
create-react-app 你的项目目录名
- 全局安装命令:
- 校验hosts文件解析
检查/etc/hosts文件中是否存在registry.npmjs.org的错误IP映射,若有异常条目直接删除后重试。
补充排查方向:如果以上操作执行后仍报错,可临时关闭系统层面的防火墙、全局VPN类代理工具,排除本地流量拦截导致的响应截断问题。
内容的提问来源于stack exchange,提问作者DeeStarks
相关产品推荐
相关产品推荐

