You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin多平台JS项目配置kotlinNpmInstall任务时报任务不存在错误

问题原因
  • 任务注册时序问题:Kotlin JS/多平台插件的kotlinNpmInstall任务属于延迟注册的懒加载任务,直接在构建脚本顶层调用tasks.named("kotlinNpmInstall")时,Kotlin插件还未完成任务注册流程,因此会抛出任务不存在的异常。后续执行./gradlew tasks时插件已完成全量初始化,所以可以正常看到该任务。
  • 版本兼容问题:你使用的Kotlin 1.5.30属于较旧的迭代版本,本身存在插件任务注册时序不稳定的已知问题,加上构建提示的Kotlin插件版本不兼容的警告,进一步加剧了任务识别异常的概率。
解决方法
  • 调整任务配置的触发时机,优先使用类型匹配的方式配置任务,避免硬编码任务名的时序问题,替换原有配置为以下写法:
// 匹配所有KotlinNpmInstallTask类型的任务,无需关心注册时机和任务名
tasks.withType<org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask>().configureEach {
    // 此处填写你原本要对kotlinNpmInstall任务添加的配置逻辑
}

如果一定要按任务名配置,可以等Kotlin JS插件加载完成后再执行配置逻辑:

pluginManager.withPlugin("org.jetbrains.kotlin.js") {
    tasks.named("kotlinNpmInstall").configure {
        // 原有配置逻辑
    }
}
  • 修复构建警告:
    • 将构建脚本中用到的experimentalAnnotationsInUse属性替换为提示的optInAnnotationsInUse,避免后续版本升级后属性失效。
    • 统一根项目、所有子模块、BuildSrc目录下的Kotlin插件版本,全部对齐为1.5.30,消除插件版本不兼容的警告。

内容的提问来源于stack exchange,提问作者Nikola-Milovic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 05:06:04