如何在非android项目中设置Kotlin编译器的版本?



当我试图用Kotlin和Compose Multiplatform编译一个项目时,我遇到了一个编译错误,我认为是由于Compose 1.1.0编译器扩展与Kotlin 1.6.21不兼容。即使我设置我的Kotlin插件版本为1.6.10:

plugins {
idea
kotlin("jvm") version "1.6.10"
id("org.jetbrains.compose") version "1.1.0"
}

我得到这个错误:

Kotlin: kotlinc-jvm 1.6.21-release-334 (JRE 15+36-1562)
Kotlin: [Internal Error] java.lang.IllegalStateException: The provided plugin androidx.compose.compiler.plugins.kotlin.ComposeComponentRegistrar is not compatible with this version of compiler

我不知道如何设置所使用的Kotlin编译器的版本。从错误上面的日志中,我可以看到它使用的是1.6.21-release-334版本,而不是1.6.10版本。

另一个可能的解决方案是将Compose Kotlin编译器插件的版本更改为支持Kotlin 1.6.21的最新alpha或beta版本,但我也不知道如何做到这一点。在Android项目中,您可以使用:

android {
composeOptions {
kotlinCompilerExtensionVersion = "1.2.0-beta03"
}
}

然而,我宁愿通过设置Kotlin编译器来解决这个问题,这样我就不会在最新版本的Kotlin超过Compose Multiplatform Kotlin编译器插件的兼容性时再次遇到这个问题。

我考虑的主要想法是,在现有项目中使用旧版本1.6.21或需要该版本或旧缓存的其他一些设置的其他一些地方。所以基本上需要清理项目,甚至删除项目的.idea目录,并检查其他可以设置旧版本的地方。然后重新打开项目,进行清理、同步和重建。

最新更新