问题描述
失败:构建失败,并出现异常。
- 出了什么问题: 无法确定任务':packageJson'的依赖关系。
无法解析配置':npm'的所有依赖关系。 无法解析org.jetbrains.kotlinx:kotlinx-datetime:0.1.0。 要求: 项目: >无法在org.jetbrains.kotlinx的以下变体之间选择:kotlinx-datetime:0.1.0: -jsIr运行时 -jsLegacy运行时 它们都符合使用者属性: -变种的“ jsIr运行时”功能org.jetbrains.kotlinx:kotlinx-datetime:0.1.0: -无与伦比的属性: -找到org.gradle.status“发行版”,但不是必需的。 -找到org.jetbrains.kotlin.js.compiler'ir',但不是必需的。 -兼容的属性: -必需的org.gradle.usage'kotlin-runtime'和找到兼容的值'kotlin-runtime'。 -必需org.jetbrains.kotlin.platform.type'js'并找到兼容值'js'。 -多种``jsLegacy-runtime''功能org.jetbrains.kotlinx:kotlinx-datetime:0.1.0: -无与伦比的属性: -找到org.gradle.status“发行版”,但不是必需的。 -找到org.jetbrains.kotlin.js.compiler“旧版”,但不是必需的。 -兼容的属性: -必需org.gradle.usage'kotlin-runtime'并找到兼容的值'kotlin-runtime'。 -必需的org.jetbrains.kotlin.platform.type'js'并找到兼容的值'js'。
7秒内失败
将内部版本扫描发布到scans.gradle.com需要接受在https://gradle.com/terms-of-service上定义的Gradle服务条款。您接受这些条款吗? [是,不是]
解决方法
使用Kotlin 1.3.xx构建项目时,如果您的某个依赖项(或任何传递性依赖项)是使用Kotlin 1.4+构建的,则可能会遇到Gradle错误:
出现此解析问题是因为Kotlin 1.4引入了Kotlin / JS的两个不同编译器后端之间的选择-Kotlin 1.3.xx中不存在这种选择。
解决方法:
为了使用这些库,请在项目的根目录中创建一个名为workaround_to_use_1_4_libs_in_1_3.gradle.kts的文件,并添加以下代码:
val pluginAction: Plugin<*>.() -> Unit = {
val pluginVersion = try {
this.javaClass.getMethod("getKotlinPluginVersion").invoke(this) as String
} catch(e: Exception) { null }
if (pluginVersion != null && pluginVersion.startsWith("1.3")) {
val jsCompilerAttr = Attribute.of("org.jetbrains.kotlin.js.compiler",String::class.java)
project.dependencies.attributesSchema.attribute(jsCompilerAttr) {
this.disambiguationRules.add(KotlinJsCompilerDisambiguationRule::class.java)
}
}
}
project.plugins.withId("org.jetbrains.kotlin.multiplatform",pluginAction)
project.plugins.withId("org.jetbrains.kotlin.js",pluginAction)
// project.plugins.withId("kotlin2js",pluginAction) // maybe even `kotlin2js`
private class KotlinJsCompilerDisambiguationRule : AttributeDisambiguationRule<String> {
override fun execute(details: MultipleCandidatesDetails<String>) {
details.closestMatch("legacy")
}
}
要应用解决方法,请将以下代码段添加到build.gradle文件中:
apply(from = "workaround_to_use_1_4_libs_in_1_3.gradle.kts")
我没有在闲置频道中找到某个人指出的解决方案 您跟踪具有解决方案的链接