执行npx create-react-app遇@typescript-eslint/typescript-estree@5.36.1版本匹配失败求解决
解决create-react-app因@typescript-eslint/typescript-estree版本缺失导致的ETARGET错误
以下是几个可临时规避或解决该问题的方法:
方法1:指定稳定版本的create-react-app创建项目
直接使用已知无问题的旧版本create-react-app初始化项目,避免拉取依赖了异常包的最新版react-scripts:
npx create-react-app@5.0.1 react-app
5.0.1是此前验证过的稳定版本,不会依赖刚发布的@typescript-eslint/typescript-estree@5.36.1。
方法2:使用npm override强制替换依赖版本
若需要保留最新版create-react-app的特性,可手动初始化项目并强制锁定可用的依赖版本:
- 手动创建项目目录并初始化package.json:
mkdir react-app && cd react-app && npm init -y
- 在生成的package.json中添加
overrides字段,强制替换有问题的包版本:
{ "name": "react-app", "version": "1.0.0", "overrides": { "@typescript-eslint/typescript-estree": "5.36.0" } }
- 手动安装React相关依赖:
npm install react react-dom react-scripts cra-template --save-exact
方法3:用Yarn替代npm创建项目
Yarn的依赖解析逻辑与npm不同,也可通过resolutions强制锁定版本:
- 直接用Yarn初始化项目:
yarn create react-app react-app
- 若仍报错,在项目根目录的package.json中添加
resolutions字段后重新安装:
{ "resolutions": { "@typescript-eslint/typescript-estree": "5.36.0" } }
执行安装命令:
yarn install
方法4:清理npm缓存并使用官方源
缓存异常可能导致版本查找失败,清理后再尝试创建:
npm cache clean --force npx create-react-app react-app --registry=https://registry.npmjs.org
问题原因
@typescript-eslint/typescript-estree@5.36.1刚发布不久,可能存在发布不完整的情况,导致npm无法找到对应版本的包,上述方法均通过绕开该问题版本、锁定稳定版本来解决创建失败的问题。
内容的提问来源于stack exchange,提问作者cpolish
相关产品推荐
相关产品推荐

