KMP Web WASM环境下GitLive Firebase依赖无法解析问题求助
KMP项目WASM环境下GitLive Firebase依赖解析失败的解决办法
1. 先确认GitLive Firebase版本支持WASM
得用1.1.0及以上的版本,旧版本没做WASM适配,肯定解析不了。
2. 给项目加上WASM目标
在根目录的settings.gradle.kts或者settings.gradle里,把WASM目标加上,示例如下:
plugins { id("org.jetbrains.kotlin.multiplatform") version "1.9.20" // Kotlin得用1.9.0以上的版本,才能支持WASM } kotlin { wasmJs { browser() binaries.executable() } // 原来的android、ios这些目标保留不动 }
3. 正确配置GitLive Firebase依赖
在模块级的build.gradle.kts里,commonMain的依赖块里直接加对应版本的依赖就行,另外WASM目标可能需要同步npm的Firebase包,版本要和GitLive的对应上:
kotlin { sourceSets { val commonMain by getting { dependencies { implementation("dev.gitlive:firebase-core:1.1.0") // 要是用auth这类其他模块,也按这个格式加 implementation("dev.gitlive:firebase-auth:1.1.0") } } val wasmJsMain by getting { dependencies { implementation(npm("firebase", "10.7.0")) // 这个npm版本要和GitLive依赖的Firebase版本匹配 } } } }
4. 配置npm同步
WASM目标依赖npm包,所以得在build.gradle.kts里给wasmJs块加上npm依赖配置,上面的代码已经包含了,要是没加的话补一下。
5. 清缓存重新构建
有时候缓存会搞事,跑一下下面的命令清缓存再重新构建:
./gradlew clean build --refresh-dependencies
几个要排查的点
- Kotlin版本得和GitLive Firebase版本兼容,推荐Kotlin 1.9.0+配GitLive Firebase 1.1.0+
- 检查WASM目标的代码有没有写错,比如拼写错误
- npm的Firebase版本必须和GitLive用的版本对应,版本不匹配大概率会解析失败
内容的提问来源于stack exchange,提问作者Shahvez Ali
相关产品推荐
相关产品推荐

