create-react-app安装中止报ESLINT not found 404错误如何解决
问题根因
这个报错和本地npm缓存损坏无关,核心原因是拉取的旧版react-scripts依赖锁中,固定写死了已从npm公共源下架的@types/eslint@8.4.4版本。不管怎么清理本地缓存、重复发起请求,访问这个不存在的包地址都会返回404。该问题集中爆发在2022年6月底,和报错日志记录的时间完全吻合。
解决方法
按优先级从高到低尝试以下方案:
- 优先使用最新版create-react-app创建项目,避开存在依赖问题的旧版本。先清掉npx本地留存的旧版本缓存,再执行创建命令:
npx clear-npx-cache npx create-react-app@latest my-test-app
- 如果需要固定使用旧版本react-scripts,可以跳过默认自动安装步骤,手动修正依赖版本后再安装:
- 执行命令只生成项目文件结构,不自动安装依赖:
npx create-react-app my-test-app --no-install - 进入生成的
my-test-app目录,打开package.json文件,手动添加resolutions字段,强制把@types/eslint锁定到源上存在的稳定版本:"resolutions": { "@types/eslint": "8.4.5" } - 在项目目录下执行
npm install完成依赖安装,即可正常启动项目。
- 执行命令只生成项目文件结构,不自动安装依赖:
- 如果你当前配置了第三方镜像源,先切回官方源再重试,部分未及时同步的镜像源也会出现包不存在的报错:
npm config set registry https://registry.npmjs.org/
切源后直接重新执行创建命令即可,不需要重复清理缓存。
避坑说明
不要反复执行npm cache clean --force,这个操作只会清除本地已缓存的包文件,解决不了源上不存在对应包的问题,反而会增加后续依赖安装的耗时。
内容的提问来源于stack exchange,提问作者user4681670
相关产品推荐
相关产品推荐

