Compose Multiplatform iOS加载图片报错:找不到coil-network-ktor依赖
Coil 3.0.0-rc01 依赖找不到问题排查
问题现象
执行Compose Multiplatform项目同步时触发如下错误:
:composeApp:iosArm64Main: Could not find io.coil-kt.coil3:coil-network-ktor:3.0.0-rc01. Required by: project :composeApp
用户当前的版本配置文件(libs.versions.toml):
[version] kotlin = "2.0.20" coil = "3.0.0-rc01" ktor = "3.0.0" [libraries] ktor-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" } ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" } ktor-client-js = { module = "io.ktor:ktor-client-js", version.ref = "ktor" } ktor-client-curl = { module = "io.ktor:ktor-client-curl", version.ref = "ktor" } ktor-client-winhttp = { module = "io.ktor:ktor-client-winhttp", version.ref = "ktor" } coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" } coil-compose-core = { module = "io.coil-kt.coil3:coil-compose-core", version.ref = "coil" } coil-network-ktor = { module = "io.coil-kt.coil3:coil-network-ktor", version.ref = "coil" } coil-mp = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }
Gradle依赖配置:
sourceSets { androidMain.dependencies { implementation(compose.preview) implementation(libs.androidx.activity.compose) //coil implementation(libs.ktor.client.okhttp) } iosMain.dependencies { //coil implementation(libs.ktor.client.darwin) } commonMain.dependencies { implementation(compose.runtime) implementation(compose.foundation) implementation(compose.material) implementation(compose.ui) implementation(compose.components.resources) implementation(compose.components.uiToolingPreview) implementation(libs.androidx.lifecycle.viewmodel) implementation(libs.androidx.lifecycle.runtime.compose) //coil implementation(libs.ktor.core) implementation(libs.coil.compose.core) implementation(libs.coil.mp) implementation(libs.coil.network.ktor) implementation(libs.coil.compose) } }
问题原因
Coil 3.0.0-rc01版本里,coil-network-ktor模块的ID做了版本区分:原来的io.coil-kt.coil3:coil-network-ktor已经不再使用,现在需要根据Ktor版本选择对应模块:
- 适配Ktor 3.x的模块是
coil-network-ktor3 - 适配Ktor 2.x的模块是
coil-network-ktor2
你的项目使用的是Ktor 3.0.0,所以必须用coil-network-ktor3,否则Gradle无法找到对应依赖。
修复方法
直接修改libs.versions.toml里的coil-network-ktor配置:
coil-network-ktor = { module = "io.coil-kt.coil3:coil-network-ktor3", version.ref = "coil" }
修改完成后重新执行Gradle同步即可。
内容的提问来源于stack exchange,提问作者Developer Ashh
相关产品推荐
相关产品推荐

