Open3

compileReleaseJavaWithJavacとcompileReleaseKotlinのバージョンが合わないエラー

hi629hi629

前提

  • 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).
hi629hi629

https://github.com/expo/expo/issues/25982#issuecomment-1924016110

こちらの記事を参考に自分の場合も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
hi629hi629

将来的にweb対応も考えたweb側のpackagesに入っていた @expo/webpack-config の依存しているexpo-applicationとexpo-auth-sessionの依存しているexpo-applicationのバージョンが違った。

こちらの依存関係齟齬を解消したい。現状アプリ側の開発しかしていないので@expo/webpack-configを単純に削除して対応する

npm uninstall @expo/webpack-config