我正在将 kotlin 1.3.41 用于我的多平台项目(包括 iosjvmjs ),一切正常。现在我正在尝试更新到最新版本 1.3.50 但收到此错误:

Could not determine the dependencies of task ':kotlinNpmInstall'.
> org.jetbrains.kotlin.gradle.targets.js.npm.KotlinNpmResolutionManager$ResolutionState$Installed cannot be cast to org.jetbrains.kotlin.gradle.targets.js.npm.KotlinNpmResolutionManager$ResolutionState$Configuring

我试图到处搜索(github,kotlin 问题跟踪器),但一无所获。有谁知道是什么导致了这个错误?谢谢。

我的配置的一部分:


buildscript {
  apply from: "buildsystem/dependencies.gradle"

  repositories {
    google()
    jcenter()
    mavenCentral()
    maven { url "https://dl.bintray.com/kotlin/kotlinx/" }
    maven { url "https://plugins.gradle.org/m2/" }
  }

  dependencies {
    classpath deps.gradlePlugins.android
    classpath deps.gradlePlugins.androidNavigation
    classpath deps.gradlePlugins.node
    classpath deps.gradlePlugins.kotlin
    classpath deps.gradlePlugins.kotlinSerialization
    classpath deps.gradlePlugins.kotlinAtomicfun
    classpath deps.gradlePlugins.dokka
  }
}


apply plugin: 'org.jetbrains.kotlin.multiplatform'

apply plugin: 'kotlinx-serialization'

kotlin {
  targets {
    jvm("jvm")
    js("js") {
      nodejs {}
    }
    iosArm64("ios64")
    iosX64("iosSim")
    configure([ios64, iosSim]) {
      binaries.framework {
        baseName = "LIB"
      }
    }
  }

  sourceSets {
    def commonDependencies = rootProject.ext.deps.common
    commonMain {
      dependencies {
        implementation commonDependencies.kotlin
        implementation commonDependencies.kotlinCoroutines
      }
    }
    commonTest {
      dependencies {
        implementation commonDependencies.kotlinTest
        implementation commonDependencies.kotlinTestAnnotations
        implementation commonDependencies.mockk
      }
    }

    def jvmDependencies = rootProject.ext.deps.jvm
    jvmMain {
      dependencies {
        implementation jvmDependencies.kotlin
        implementation jvmDependencies.kotlinCoroutines
      }
    }
    jvmTest {
      dependencies {
        implementation jvmDependencies.kotlinTest
        implementation jvmDependencies.kotlinTestJunit
        implementation jvmDependencies.kotlinCoroutinesTest
        implementation jvmDependencies.mockk
      }
    }

    def jsDependencies = rootProject.ext.deps.js
    jsMain {
      dependencies {
        implementation jsDependencies.kotlin
        implementation jsDependencies.kotlinCoroutines
        // npm
        implementation npm("uuid", "^3.3.2")
      }
    }
    jsTest {
      dependsOn jsMain
      dependsOn commonMain
      dependencies {
        implementation jsDependencies.kotlinTest
      }
    }

    def iosDependencies = rootProject.ext.deps.ios
    iosMain {
      dependencies {
        implementation iosDependencies.kotlinCoroutines
      }
    }

    ios64Main {
      dependsOn iosMain
    }

    iosSimMain {
      dependsOn iosMain
    }
  }
}
// other configuration

最佳答案

我可以确认问题出在 Android Studio 中。

当我在 IntelliJ 上运行官方 KotlinJS react app tutorial 时,该应用程序可以运行。但是在 AS 上,执行任何依赖于 npm 的 Gradle 任务时都会出现上述错误。

在问题解决之前,我建议使用 IntelliJ 的社区版本。你可以下载here

关于kotlin - 对于多平台项目,无法将 kotlin 更新到 v1.3.50,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58214032/

10-11 17:45