mac m1编译thingsboard过程记录,虽说是mac m1为示例机器,但是windows也是一样的道理,只是架构部分不同。
本机环境:JAVA:11、MAVEN3、NODE:18、YARN:1.22.19
拉取代码
github地址:https://github.com/thingsboard/thingsboard
修改文件
根目录下pom.xml
1、 文件内搜索:${os.detected.classifier}
,出现三处位置,将其更改为:osx-aarch_64
。
2、 文件内搜索:com.mycila
,出现两处位置,将其完整注释,具体注释内容如下:
1 | <plugin> |
1 | <plugins> |
node和yarn版本
全局搜索nodeVersion
,将nodeVersion
和yarnVersion
更改为自己电脑的版本。node -v
、yarn -v
设置node、yarn镜像源
npm config set registry registry.npm.taobao.org
yarn config set registry registry.npm.taobao.org
install ui-ngx
cd ui-ngx
yarn install
开始编译
mvn install -Dmaven.test.skip=true
- ps:这是跳过测试的,所以截止这一步不需要搭建postgres、kafka等。
遇到的问题
- 直接上报错代码,更加直观。
错误一:
The following artifacts could not be resolved: org.thingsboard:dao:jar:tests:3.5.1-SNAPSHOT (absent):
1 | [INFO] ------------------------------------------------------------------------ |
解决方案:
前往https://repo.thingsboard.io/artifactory/libs-release-public/org/thingsboard/dao/3.5.1/ 下载所需的包(注意版本),放到自己本地仓库下:
错误二
Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.12.0:yarn (yarn pkg) on project web-ui: Failed to run task: 'yarn run pkg' failed.
1 | [INFO] > Error! Not able to build for 'linux' here, only for 'macos' |
解决方案:
前往:https://github.com/vercel/pkg-fetch/releases 下载所需要的文件,放置在用户文件夹下: