Настройка Springboot-Gadle с Nodejs - PullRequest
0 голосов
/ 09 марта 2020

Прошу прощения за то, что показывал слишком много кода, я бы показал больше, не меньше

Я столкнулся с следующей проблемой при попытке настроить build.gradle:

plugins {
    id 'org.springframework.boot' version '2.2.5.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
    id "com.moowork.node" version "1.3.1"
}

group = 'com.traveling.owl'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

node {
    version = '12.16.1'
    download = true
    workDir = file("${project.projectDir}/src/main/reactjs/nodejs")
    npmWorkDir = file("${project.projectDir}/src/main/reactjs/npm")
    nodeModulesDir = file("${project.projectDir}/src/main/reactjs")
}

task npmInstallDependencies(type: NpmTask) {
    dependsOn 'npmSetup'
    execOverrides {
        it.ignoreExitValue = true
        it.workingDir = 'src/main/reactjs'
    }
    args = ['install']
}

task npmBuild(type: NpmTask) {
    dependsOn 'npmInstallDependencies'
    execOverrides {
        it.workingDir = 'src/main/reactjs'
    }
    args = ['run', 'build']
}

task copyBuild(type: Copy) {
    dependsOn 'npmBuild'
    from "$projectDir/src/main/reactjs/build"
    into "$buildDir/resources/main/static"
}

processResources {
    dependsOn 'copyBuild'
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-rest'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

This (gradle build) выдает следующее сообщение об ошибке:

xecution failed for task ':nodeSetup'.
> Could not resolve all files for configuration ':detachedConfiguration55'.
   > Could not find org.nodejs:node:v12.16.1.
     Searched in the following locations:
       - https://nodejs.org/dist/vv12.16.1/ivy.xml

Но когда я tpye node -v его вывод: v12.16.1.

Кажется, что npm не видит версия установленного узла?

Я пытался переустановить npm, но это не решило мою проблему

OSX 10.14.6 Mojave

1 Ответ

0 голосов
/ 13 марта 2020

Сообщается, что это несовместимость между Gradle 6+ и плагином moowork для Gradle.

Чтобы решить эту проблему, у вас есть два варианта:

1) Изменить свойство download до false и установите требуемую версию узла вручную. Ваша конфигурация узла Gradle будет выглядеть так:

node {
    version = '12.6.1'
    npmVersion = '6.10.2'
    distBaseUrl = 'https://nodejs.org/dist'
    download = false
    workDir = file("${project.buildDir}/nodejs")
    npmWorkDir = file("${project.buildDir}/npm")
    yarnWorkDir = file("${project.buildDir}/yarn")
    nodeModulesDir = file("${project.projectDir}")
}

2) Переключиться на другой Gradle - Node, плагин. Это объясняется здесь: https://github.com/srs/gradle-node-plugin/issues/292#issuecomment -562848790

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...