xuxiaowei-com-cn opened a new issue, #8189: URL: https://github.com/apache/incubator-seata/issues/8189
### Check Ahead - [x] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate. - [ ] I am willing to try to fix this bug myself. ### Ⅰ. Issue Description - Unable to use `-DnodeVersion` to modify the Node version number to be downloaded. ```xml <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <configuration> <workingDirectory>src/main/resources/static/console-fe</workingDirectory> </configuration> <executions> <execution> <id>install node and npm</id> <goals> <goal>install-node-and-npm</goal> </goals> <phase>generate-resources</phase> <configuration> <nodeVersion>v19.5.0</nodeVersion> </configuration> </execution> <!-- ... --> </executions> </plugin> ``` ### Ⅱ. Describe what happened 1. While executing the compilation commands on a Loongson (LoongArch) computer, it was observed that the Node.js 19.5.0 release for the Loongson architecture is not available at https://unofficial-builds.nodejs.org/download/release/. ```shell mvn -V -T 1C package -pl console -am -DskipTests -Dgrpc.version=1.54.2 -DnodeDownloadRoot=https://unofficial-builds.nodejs.org/download/release/ ``` ```shell debian-14:/srv/java/incubator-seata# mvn -V -T 1C package -pl console -am -DskipTests -Dgrpc.version=1.54.2 -DnodeDownloadRoot=https://unofficial-builds.nodejs.org/download/release/ Apache Maven 3.9.16 (2bdd9fddda4b155ebf8000e807eb73fd829a51d5) Maven home: /srv/apache-maven-3.9.16 Java version: 25.0.3, vendor: Loongson, runtime: /srv/jdk-25.0.3 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "7.1.3+deb14-loong64", arch: "loongarch64", family: "unix" [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Detecting the operating system and CPU architecture [INFO] ------------------------------------------------------------------------ [INFO] os.detected.name: linux [INFO] os.detected.arch: loongarch_64 [INFO] os.detected.version: 7.1 [INFO] os.detected.version.major: 7 [INFO] os.detected.version.minor: 1 [INFO] os.detected.release: debian [INFO] os.detected.release.like.debian: true [INFO] os.detected.classifier: linux-loongarch_64 [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] Seata Build 2.8.0-SNAPSHOT [pom] [INFO] Seata Parent POM 2.8.0-SNAPSHOT [pom] [INFO] seata-common 2.8.0-SNAPSHOT [jar] [INFO] seata-console 2.8.0-SNAPSHOT [jar] [INFO] ...... [INFO] --- frontend:1.15.0:install-node-and-npm (install node and npm) @ seata-console --- [WARNING] Unable to determine current node version: org.apache.commons.exec.ExecuteException: Process exited with an error: 2 (Exit value: 2) [INFO] Installing node version v19.5.0 [INFO] Downloading https://unofficial-builds.nodejs.org/download/release/v19.5.0/node-v19.5.0-linux-loong64.tar.gz to /srv/apache-maven-repo/com/github/eirslett/node/19.5.0/node-19.5.0-linux-loong64.tar.gz [INFO] No proxies configured [INFO] No proxy was configured, downloading directly [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for Seata Parent POM 2.8.0-SNAPSHOT 2.8.0-SNAPSHOT: [INFO] [INFO] Seata Build 2.8.0-SNAPSHOT ......................... SUCCESS [ 1.239 s] [INFO] Seata Parent POM 2.8.0-SNAPSHOT .................... SUCCESS [ 2.278 s] [INFO] seata-common 2.8.0-SNAPSHOT ........................ SUCCESS [ 1.650 s] [INFO] seata-console 2.8.0-SNAPSHOT ....................... FAILURE [ 2.766 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 9.135 s (Wall Clock) [INFO] Finished at: 2026-07-29T01:09:21+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.15.0:install-node-and-npm (install node and npm) on project seata-console: Could not download Node.js: Got error code 404 from the server. -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <args> -rf :seata-console debian-14:/srv/java/incubator-seata# ``` 2. Although Node.js v20.20.2 is available at https://unofficial-builds.nodejs.org/download/release/ , we used the parameter `-DnodeVersion=v20.20.2` to specify that version, but found that the parameter was ignored and it still downloaded Node.js 19.5.0. ```shell mvn -V -T 1C package -pl console -am -DskipTests -Dgrpc.version=1.54.2 -DnodeDownloadRoot=https://unofficial-builds.nodejs.org/download/release/ -DnodeVersion=v20.20.2 ``` 3. After searching the source code, we found that the Node.js version is hardcoded. ```shell grep -r --include="pom.xml" -B 16 "19.5.0" . ``` ```shell debian-14:/srv/java/incubator-seata# grep -r --include="pom.xml" -B 16 "19.5.0" . ./console/pom.xml- <build> ./console/pom.xml- <plugins> ./console/pom.xml- <plugin> ./console/pom.xml- <groupId>com.github.eirslett</groupId> ./console/pom.xml- <artifactId>frontend-maven-plugin</artifactId> ./console/pom.xml- <configuration> ./console/pom.xml- <workingDirectory>src/main/resources/static/console-fe</workingDirectory> ./console/pom.xml- </configuration> ./console/pom.xml- <executions> ./console/pom.xml- <execution> ./console/pom.xml- <id>install node and npm</id> ./console/pom.xml- <goals> ./console/pom.xml- <goal>install-node-and-npm</goal> ./console/pom.xml- </goals> ./console/pom.xml- <phase>generate-resources</phase> ./console/pom.xml- <configuration> ./console/pom.xml: <nodeVersion>v19.5.0</nodeVersion> debian-14:/srv/java/incubator-seata# ``` ### Ⅲ. Describe what you expected to happen Supports using `-DnodeVersion=` to specify the Node.js version to be downloaded and used. ### Ⅳ. How to reproduce it (as minimally and precisely as possible) 1. Use `mvn -V -T 1C package -pl console -am -DskipTests -DnodeVersion=v20.20.2` to specify the Node.js version to be downloaded and used. 2. Run `./console/src/main/resources/static/console-fe/node/node -v` to check the Node version, and find that it is not the one you specified. ``` xuxiaowei@xiaomi ~/IdeaProjects/github.com/xuxiaowei-com-cn/incubator-seata 2.x ./console/src/main/resources/static/console-fe/node/node -v v19.5.0 xuxiaowei@xiaomi ~/IdeaProjects/github.com/xuxiaowei-com-cn/incubator-seata 2.x ``` ### Ⅴ. Anything else we need to know? 无 ### Ⅵ. Environment - 任何操作系统均能复现该问题 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
