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

NX Monorepo中Expo React Native集成expo-camera编译失败求助

解决NX Monorepo中Expo ejected项目集成expo-camera的Kotlin编译错误

问题分析

你遇到的Task :expo-camera:compileDebugKotlin FAILED错误,核心是依赖版本不兼容和Monorepo下Maven仓库路径配置错误,具体表现为:

  • Kotlin代码中找不到raw引用
  • BarCodeScannerResult构造函数参数不匹配,说明expo-modules-interfaces版本与expo-camera不兼容

解决方案

1. 修正Android Maven仓库路径

NX Monorepo目录结构与普通Expo项目不同,原路径指向错误,需根据项目结构调整:
打开android/build.gradle,修改maven仓库配置:

maven {
    // 适配NX Monorepo结构,确保定位到expo-camera的maven仓库
    url "$rootDir/../../node_modules/expo-camera/android/maven"
}

提示:若Android项目在apps/your-app/android目录,../../会回到monorepo根目录下的node_modules,可根据实际层级调整路径。

2. 锁定兼容的依赖版本

Expo 50对应的expo-modules-interfaces版本需严格匹配,在package.json中添加版本锁定:

  • 使用npm时,添加overrides字段:
"overrides": {
    "expo-modules-interfaces": "~1.10.0"
}
  • 使用yarn时,添加resolutions字段:
"resolutions": {
    "expo-modules-interfaces": "~1.10.0"
}

3. 清理缓存并重新安装依赖

执行以下步骤彻底清理缓存:

  • 删除项目根目录的node_modules文件夹
  • 删除package-lock.json或yarn.lock文件
  • 清理Android Gradle缓存:
cd android && ./gradlew cleanBuildCache
  • 重新安装依赖:
npm install # 或 yarn install

4. 重新构建Android项目

执行构建命令验证修复效果:

cd android && ./gradlew assembleDebug

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 03:37:20