node.js - 升级到 Gradle 7.3 后 Node 构建失败

标签 node.js build.gradle

在 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/

相关文章:

node.js - 我应该在 Mongoose 中一个一个地返回数组或数据吗

android - Gradle重复条目错误: META-INF/MANIFEST. MF(或如何从jar中删除文件)

android - 我正在从android studio获取以下错误消息

node.js - Node.js 中的 request 对象是否包含任何 navigator.userAgent 类型的信息?

java.sql.SQLException : No suitable driver found for jdbc:mariadb in a Gradle project (Intellij)

gradle - 如何在build命令中在Gradle上添加运行时库

gradle - kotlin-gradle 插件自动配置错误

javascript - 在同一文件中使用 module.exports 函数

node.js - K8s 在 Mac OS 上连接到 Cassandra 时出现问题(通过 Node.js)

javascript - 如何更改 Node Postgresql 查询的输出格式