在 nodeSetup 构建失败并出现以下错误后,我们已将 gradle 从 4.8 升级到 7.3。
Could not find method layout() for arguments [pattern, com.moowork.gradle.node.task.SetupTask$_addRepository_closure5$_closure7@25995910] on object of type org.gradle.api.internal.artifacts.repositories.DefaultIvyArtifactRepository.
以下是 build.gradle 的代码片段。
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "com.moowork.gradle:gradle-node-plugin:1.3.1"
classpath "io.spring.gradle:dependency-management-plugin:1.0.11.RELEASE"
}
}
apply plugin: "com.moowork.node"
apply plugin: "io.spring.dependency-management"
node {
version = "16.13.12"
npmVersion = "6.12.0"
download = true
nodeModulesDir = file("/XXX")
}
最佳答案
原因: gradle 6.8 有一个重大变化,您可以在此处查看: https://docs.gradle.org/current/userguide/upgrading_version_6.html#configuring_the_layout_of_an_ivy_repository
"The 'layout' method taking a configuration block has been removed and is replaced by 'patternLayout'
您的插件“com.moowork.gradle:gradle-node-plugin:1.3.1”正在使用该库中未升级的方法。
解决方案: 您可以使用这个 gradle-node-plugin 代替“com.moowork.gradle:gradle-node-plugin:1.3.1”
安装: https://github.com/node-gradle/gradle-node-plugin/blob/master/docs/installation.md 可以通过多种方式安装与 Node 相关的插件。最简单的方法是在 build.gradle 文件中使用 plugins-closure:
plugins {
id "com.github.node-gradle.node" version "3.1.1"
}
您也可以使用传统的 Gradle 方式安装插件:
buildscript {
repositories {
gradlePluginPortal()
}
dependencies {
classpath "com.github.node-gradle:gradle-node-plugin:3.1.1"
}
}
apply plugin: 'com.github.node-gradle.node'
关于node.js - 升级到 Gradle 7.3 后 Node 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70662387/