首页 > 解决方案 > Compose 编译器需要 Kotlin 版本

问题描述

我使用 android studio 制作了一个 Kotlin Multiplatform Mobile 项目,导入 SQLDelight 后遇到以下错误:

e: This version (1.0.1) of the Compose Compiler requires Kotlin version 1.5.21 but you appear to be using Kotlin version 1.5.30 which is not known to be compatible.  Please fix your configuration (or `suppressKotlinVersionCompatibilityCheck` but don't say I didn't warn you!).

我关注了这个问题,但是他们提到的所有事情我都已经正确完成了。在逐个文件查找并找不到声明该版本的位置后,我决定将我的项目与其中一个示例项目进行比较。

再次浏览文件后,我发现我在我的 App Grade.properties 中使用了 sqlDelightVersion 1.5.2,他们使用了 1.4.2 将其从 1.5.2 更改为 1.4.2 后,一切都可以编译。

问题是,如果 SQLDelight 与 jetpack compose 无关,为什么会发生这种情况?

标签: androidkotlinandroid-jetpack-composekotlin-multiplatform-mobile

解决方案


Jetpack Compose 与 kotlin 编译器版本紧密绑定,它可能不会很快改变(尽管,AFAIK,Google 正在与 Jetbrains 讨论稳定编译器插件 API 以防止这种情况发生。我的来源是 compose 的问答之一团队)。

如果您想使用 SQLDelight 或任何其他基于 kotlin 其他版本的库 - 您可能必须在 gradle 级别强制使用正确的 kotlin 版本(如这里


推荐阅读