You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译ThingsBoard源码时Server UI环节Yarn解压重命名失败求助

编译ThingsBoard源码时UI环节Yarn解压报错的解决方法

问题描述

编译GitHub上的ThingsBoard 3.5.1源码,执行到Server UI(ui-ngx模块)环节时触发报错:

[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.12.0:install-node-and-yarn (install node and npm) on project ui-ngx: Could not extract the Yarn archive: Could not rename versioned yarn root directory to dist

已尝试手动下载Yarn放置到对应目录,但问题未解决。

编译日志

[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ ui-ngx ---
[INFO] Deleting E:\IIOT\thingsboard\ui-ngx\target
[INFO] 
[INFO] --- frontend-maven-plugin:1.12.0:install-node-and-yarn (install node and npm) @ ui-ngx ---
[INFO] Installing node version v18.16.0
[INFO] Copying node binary from C:\Users\AlexFu\.m2\repository\com\github\eirslett\node\18.16.0\node-18.16.0-win-x64.exe to E:\IIOT\thingsboard\ui-ngx\target\node\node.exe
[INFO] Installed node locally.
[INFO] Installing Yarn version v1.22.19
[INFO] Unpacking C:\Users\AlexFu\.m2\repository\com\github\eirslett\yarn\1.22.19\yarn-1.22.19.tar.gz into E:\IIOT\thingsboard\ui-ngx\target\node\yarn
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Thingsboard 3.5.1:
[INFO]
[INFO] Thingsboard ........................................ SUCCESS [  0.047 s]
[INFO] Netty MQTT Client .................................. SUCCESS [  1.900 s]
[INFO] Thingsboard Server Commons ......................... SUCCESS [  0.002 s]
[INFO] Thingsboard Server Common Data ..................... SUCCESS [  4.682 s]
[INFO] Thingsboard Server Common Utils .................... SUCCESS [  0.692 s]
[INFO] Thingsboard Server Common Messages ................. SUCCESS [  1.715 s]
[INFO] Thingsboard Actor system ........................... SUCCESS [  0.882 s]
[INFO] Thingsboard Server Stats ........................... SUCCESS [  0.296 s]
[INFO] Thingsboard Server Common Cluster API .............. SUCCESS [  6.486 s]
[INFO] Thingsboard Server Queue components ................ SUCCESS [  2.011 s]
[INFO] Thingsboard Server Common Cache .................... SUCCESS [  0.717 s]
[INFO] Thingsboard Server Commons ......................... SUCCESS [  0.002 s]
[INFO] Thingsboard Server Common Transport components ..... SUCCESS [  2.392 s]
[INFO] Thingsboard MQTT Transport Common .................. SUCCESS [  2.362 s]
[INFO] Thingsboard HTTP Transport Common .................. SUCCESS [  0.541 s]
[INFO] Thingsboard CoAP server ............................ SUCCESS [  0.523 s]
[INFO] Thingsboard CoAP Transport Common .................. SUCCESS [  1.449 s]
[INFO] Thingsboard LwM2M Transport Common ................. SUCCESS [  1.412 s]
[INFO] Thingsboard SNMP Transport Common .................. SUCCESS [  1.026 s]
[INFO] Thingsboard Server Common DAO API .................. SUCCESS [  0.782 s]
[INFO] Thingsboard Server Remote Edge wrapper ............. SUCCESS [  2.683 s]
[INFO] Thingsboard Server Version Control API ............. SUCCESS [  0.629 s]
[INFO] Thingsboard Script Invoke Commons .................. SUCCESS [  0.002 s]
[INFO] Thingsboard Server Script invoke API ............... SUCCESS [  0.784 s]
[INFO] Thingsboard Extensions ............................. SUCCESS [  0.002 s]
[INFO] Thingsboard Rule Engine API ........................ SUCCESS [  0.937 s]
[INFO] Thingsboard Server JS Client for remote JS execution SUCCESS [  1.202 s]
[INFO] Thingsboard Server DAO Layer ....................... SUCCESS [  4.855 s]
[INFO] Thingsboard Rule Engine Components ................. SUCCESS [  3.681 s]
[INFO] Thingsboard Server Transport Modules ............... SUCCESS [  0.004 s]
[INFO] Thingsboard HTTP Transport Service ................. SUCCESS [ 15.605 s]
[INFO] Thingsboard MQTT Transport Service ................. SUCCESS [ 12.030 s]
[INFO] Thingsboard CoAP Transport Service ................. SUCCESS [ 11.370 s]
[INFO] Thingsboard LwM2m Transport Service ................ SUCCESS [ 14.500 s]
[INFO] Thingsboard SNMP Transport Service ................. SUCCESS [ 11.576 s]
[INFO] ThingsBoard Server UI .............................. FAILURE [  0.117 s]
[INFO] Thingsboard Server Tools ........................... SKIPPED
[INFO] Thingsboard Rest Client ............................ SKIPPED
[INFO] ThingsBoard Server Application ..................... SKIPPED
[INFO] ThingsBoard Microservices .......................... SKIPPED
[INFO] ThingsBoard Docker Images .......................... SKIPPED
[INFO] ThingsBoard Web UI Microservice .................... SKIPPED
[INFO] ThingsBoard Version Control Executor ............... SKIPPED
[INFO] ThingsBoard Version Control Executor Microservice .. SKIPPED
[INFO] ThingsBoard Node Microservice ...................... SKIPPED
[INFO] ThingsBoard Transport Microservices ................ SKIPPED
[INFO] ThingsBoard MQTT Transport Microservice ............ SKIPPED
[INFO] ThingsBoard HTTP Transport Microservice ............ SKIPPED
[INFO] ThingsBoard COAP Transport Microservice ............ SKIPPED
[INFO] ThingsBoard LWM2M Transport Microservice ........... SKIPPED
[INFO] ThingsBoard SNMP Transport Microservice ............ SKIPPED
[INFO] ThingsBoard JavaScript Executor Microservice ....... SKIPPED
[INFO] ThingsBoard Monitoring Service ..................... SKIPPED
[INFO] ThingsBoard Monitoring Microservice ................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:50 min
[INFO] Finished at: 2023-07-12T16:40:17+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.12.0:install-node-and-yarn (install node and npm) on project ui-ngx: Could not extract the Yarn archive: Could not rename versioned yarn root directory to dist -> [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 :ui-ngx

原因分析

  • Windows环境下,frontend-maven-plugin解压Yarn后重命名目录时,可能遭遇权限不足、目录被进程(如杀毒软件)锁定,或解压后的目录结构不符合插件预期
  • 手动放置Yarn时,未匹配插件要求的目录结构,或插件仍尝试覆盖自动下载的文件,引发冲突

解决方案

方案1:清理缓存并重新构建

  • 删除Maven仓库中Yarn的缓存目录:C:\Users\AlexFu\.m2\repository\com\github\eirslett\yarn\1.22.19
  • 删除ui-ngx模块的target目录:E:\IIOT\thingsboard\ui-ngx\target
  • 以管理员权限启动命令行,进入项目根目录执行:mvn clean install -rf :ui-ngx

方案2:跳过自动安装,使用全局版本

  • 在系统中全局安装Node v18.16.0和Yarn v1.22.19
  • 修改ui-ngx/pom.xml中frontend-maven-plugin的配置,添加参数让插件使用全局版本:
<configuration>
    <nodeVersion>v18.16.0</nodeVersion>
    <yarnVersion>v1.22.19</yarnVersion>
    <installNode>false</installNode>
    <installYarn>false</installYarn>
</configuration>
  • 执行构建命令:mvn clean install -rf :ui-ngx

方案3:手动调整Yarn目录结构

  • 下载Yarn v1.22.19的tar.gz包,解压得到yarn-v1.22.19目录
  • 将该目录重命名为dist,复制到E:\IIOT\thingsboard\ui-ngx\target\node\yarn下
  • 确保dist/bin目录包含yarn.cmd等可执行文件
  • 执行构建命令:mvn clean install -rf :ui-ngx

内容的提问来源于stack exchange,提问作者AlexFu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 09:49:50