Open3
compileReleaseJavaWithJavacとcompileReleaseKotlinのバージョンが合わないエラー
前提
- ios, androidアプリをreact native, expo managed workflowで作成している
- 将来的なweb対応も考えてturborepoを利用している
eas buildをした際に、android側でエラーが発生した。ios側のビルドは問題なく通る。
エラー内容は以下。
FAILURE:
Build failed with an exception.
* What went wrong:
Execution failed for task ':expo-application:compileReleaseKotlin'.
> Inconsistent JVM-target compatibility detected for tasks 'compileReleaseJavaWithJavac' (17) and 'compileReleaseKotlin' (11).
こちらの記事を参考に自分の場合もexpo-applicationが原因のようなので、依存関係を調べた。
ちなみに、turborepoを利用しています。
% npm list expo-application
ルートパッケージ名@ /パス
└─┬ native@1.0.0 -> ./apps/native
├─┬ @expo/webpack-config@19.0.1
│ └─┬ expo@49.0.23
│ └── expo-application@5.3.1
└─┬ expo-auth-session@5.5.2
└── expo-application@5.9.1
将来的にweb対応も考えたweb側のpackagesに入っていた @expo/webpack-config
の依存しているexpo-applicationとexpo-auth-sessionの依存しているexpo-applicationのバージョンが違った。
こちらの依存関係齟齬を解消したい。現状アプリ側の開発しかしていないので@expo/webpack-configを単純に削除して対応する
npm uninstall @expo/webpack-config