升级Expo 47至49后安装Pods遇DEFINED_MODULE配置合并错误
Expo 47升级至49后Pods安装DEFINED_MODULE冲突的解决办法
清理本地缓存与配置文件
- 进入项目ios目录:
cd ios - 删除Pod相关文件:
rm -rf Podfile.lock Pods - 清理Pod全局缓存:
pod cache clean --all - 返回项目根目录,重新生成Expo原生配置:
npx expo prebuild --clean
- 进入项目ios目录:
统一Pods的DEFINES_MODULE配置
打开ios目录下的Podfile,在文件末尾添加以下代码,强制所有Pod目标使用相同的DEFINES_MODULE值:post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['DEFINES_MODULE'] = 'YES' end end end重新安装依赖与Pods
- 项目根目录执行:
npm install - 回到ios目录执行:
pod install
- 项目根目录执行:
检查Node.js版本(可选但推荐)
Expo 49官方推荐使用Node.js 18+版本,虽然16版本可运行,但升级到18 LTS能减少潜在兼容问题,可通过nvm快速切换:nvm install 18 && nvm use 18
内容的提问来源于stack exchange,提问作者Egzon Baftiu
相关产品推荐
相关产品推荐

