执行create-react-app创建项目时ESLint 8.4.4依赖报404错误
执行create-react-app创建项目时报@types/eslint 404错误的解决方法
问题表现
执行npx create-react-app my-app命令创建React项目时,终端返回如下错误导致创建流程中断:
npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/@types/eslint/-/eslint-8.4.4.tgz - Not found npm ERR! 404 npm ERR! 404 '@types/eslint@http://registry.npmjs.org/@types/eslint/-/eslint-8.4.4.tgz' is not in this registry.
实际验证可正常拉取@types/eslint@8.4.0版本包,报错的8.4.4版本不存在于npm公共注册表中。
故障原因
本地缓存的旧版create-react-app在依赖锁定时,固定引用了未正式发布/已被撤下的@types/eslint@8.4.4版本,npm拉取对应包时找不到资源直接抛出404错误,终止项目创建流程。
可行解决方案
按优先级从高到低尝试以下操作即可解决问题:
- 清理本地旧版create-react-app缓存,使用最新版本初始化项目
先执行npm uninstall -g create-react-app卸载全局安装的旧版本CRA,避免npx优先调用本地缓存的旧包,再执行npx create-react-app@latest my-app重新创建项目,最新版CRA已经修复了该错误的依赖版本锁定问题。 - 添加参数跳过严格依赖版本校验
如果暂时无法拉取最新版CRA,可以在创建命令后追加--legacy-peer-deps参数,让npm自动选择兼容的可用版本替代不存在的问题版本,完整命令为npx create-react-app my-app --legacy-peer-deps。 - 手动锁定可用的@types/eslint版本
执行创建命令前,先通过npm配置强制全局将@types/eslint的引用版本指向可正常拉取的8.4.0版本,执行配置命令npm config set @types/eslint:version 8.4.0后再重新运行项目创建命令即可。
注意:创建完成后如果不需要全局锁定该包版本,可以执行
npm config delete @types/eslint:version移除对应配置,避免影响其他项目的依赖安装。
内容的提问来源于stack exchange,提问作者Manh Huynh Duc
相关产品推荐
相关产品推荐

