如何为Expo SDK47项目安装Jest与React Testing Library?
Expo SDK47 安装Jest与React Testing Library 依赖冲突解决指南
冲突原因
你的项目依赖react@18.1.0(Expo SDK47默认配套版本),但安装时自动拉取的react-test-renderer@18.2.0要求peer依赖react@^18.2.0,版本不匹配导致依赖解析失败。
解决步骤
- 清理冲突依赖(如果已安装过测试相关包)
npm uninstall react-test-renderer @testing-library/react-native
- 安装适配SDK47的指定版本依赖
确保react-test-renderer版本与项目中react版本完全一致,同时安装兼容的测试库和官方预设:
npm install --save-dev jest jest-expo @testing-library/react-native react-test-renderer@18.1.0
如果仍出现peer依赖警告,添加参数适配npm 7+的严格检查规则:
npm install --save-dev jest jest-expo @testing-library/react-native react-test-renderer@18.1.0 --legacy-peer-deps
- 配置Jest
在项目根目录的package.json中添加以下配置:
"jest": { "preset": "jest-expo" }
- 验证安装
执行命令确认Jest正常可用:
npx jest --version
注意事项
- 不要随意升级项目中的
react版本到18.2.0,这会破坏Expo SDK47的版本兼容性,如需升级react需同步升级Expo SDK到对应版本。 jest-expo是Expo官方提供的Jest预设,能自动适配Expo项目的环境配置。
内容的提问来源于stack exchange,提问作者Honest Raj
相关产品推荐
相关产品推荐

