You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native项目tsconfig.json的lib配置报错求助

解决React Native中tsconfig.json lib配置的奇怪冲突错误

问题详情

我的tsconfig.json配置如下:

{
  "extends": "@react-native/typescript-config/tsconfig.json",
  "compilerOptions": {
    "lib": ["ES2020", "DOM"],
    "typeRoots": ["./types", "./node_modules/@types"],
    "types": ["react", "react-native", "jest"]
  }
}

持续收到错误提示:

'compilerOptions/lib/2' must be equal to one of the allowed values 'ES5, ES6, ES2015, ES2015.Collection, ... Value found 'es2020.date' Or 'compilerOptions/lib/2' must match pattern ...

明明配置的是ES2020,但编译器始终判定我选择了es2020.date,尝试更换ES6等其他值也无法解决问题。

可能原因及解决方案

1. 官方预设lib与自定义配置冲突

@react-native/typescript-config/tsconfig.json已经为React Native环境预设了适配的lib配置,其中可能包含拆分后的ES子模块(比如es2020.date)。手动添加ES2020时,TypeScript会尝试合并两个配置,导致出现无效的组合项。

解决方法:
移除compilerOptions中的lib配置,直接继承官方预设:

{
  "extends": "@react-native/typescript-config/tsconfig.json",
  "compilerOptions": {
    "typeRoots": ["./types", "./node_modules/@types"],
    "types": ["react", "react-native", "jest"]
  }
}

2. TypeScript版本兼容性问题

React Native 0.75.1推荐使用TypeScript 4.9.x版本,当前使用的5.0.4版本与官方配置存在兼容性差异,可能引发配置解析异常。

解决方法:
降级TypeScript到4.9.x版本:

yarn add typescript@~4.9.5 --dev

3. Yarn 3缓存或依赖解析残留

Yarn 3的缓存机制可能导致旧配置残留,即使重新安装依赖也无法覆盖。

解决方法:
执行以下命令彻底清理并重装依赖:

yarn cache clean
yarn install --immutable

4. VS Code内置TypeScript版本干扰

VS Code默认使用内置的TypeScript版本,可能与项目本地版本不一致,导致配置解析错误。

解决方法:

  • 点击VS Code状态栏右侧的TypeScript版本指示器
  • 选择「Use Workspace Version」,切换到项目本地安装的TypeScript版本

5. 验证最终生效配置

如果以上方法无效,可通过以下命令查看TypeScript实际使用的合并后配置,定位es2020.date的来源:

npx tsc --showConfig

在输出结果中查找compilerOptions.lib数组,确认哪些项来自继承配置,再针对性调整。


内容的提问来源于stack exchange,提问作者Mizile

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 20:23:11