从源码构建ThingsBoard失败:Server UI模块构建报错
解决ThingsBoard 1.4分支UI模块构建失败的问题
问题根源
从你贴出的报错日志来看,核心问题出在npm install阶段:npm尝试用git://协议克隆GitHub上的几个依赖仓库(比如fabiobiondi/angular-fullscreen、thingsboard/flot),但网络连接超时了。这种情况大多是因为git://协议在部分网络环境下容易被拦截或出现连接不稳定,导致依赖拉取失败。
解决方案
这里有几个逐步递进的解决办法,你可以按顺序尝试:
1. 全局配置npm用HTTPS替代Git协议
先给npm设置全局规则,让所有需要克隆Git仓库的操作自动改用HTTPS协议,避开git://的网络限制:
npm config set url.git://.insteadOf https:// --global
2. 手动修改UI模块的依赖地址
如果全局配置没生效,直接修改thingsboard/ui/package.json文件:把所有以git://github.com/开头的依赖地址,替换成https://github.com/。比如:
- 将
git://github.com/fabiobiondi/angular-fullscreen.git#master改为https://github.com/fabiobiondi/angular-fullscreen.git#master - 将
git://github.com/thingsboard/flot.git#0.9-work改为https://github.com/thingsboard/flot.git#0.9-work
3. 清理缓存后重新构建
先清理npm的本地缓存,避免残留的错误缓存干扰后续操作:
npm cache clean --force
然后回到ThingsBoard根目录重新执行构建。如果你只需要Java API相关的jar包(不需要UI模块),可以直接跳过UI构建,节省时间:
mvn clean install -DskipTests -pl !ui
如果确实需要UI模块,就执行完整构建:
mvn clean install -DskipTests
内容的提问来源于stack exchange,提问作者Nitin Ware
相关产品推荐
相关产品推荐

