升级到 Gradle 7.3 后节点构建失败
Node Build fail after upgrade to Gradle 7.3
在 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
安装节点相关的插件可以通过多种方式完成。最简单的方法是在 build.gradle 文件中使用插件闭包:
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'
在 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 安装节点相关的插件可以通过多种方式完成。最简单的方法是在 build.gradle 文件中使用插件闭包:
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'