讲解在Mac环境下,ThingsBoard本地源代码安装和运行的过程和问题的解决
安装的文档主要借鉴ThingsBoard中文网文档:
为了还原实际部署可能遇到的问题,我使用的是本机已下载的环境展开讲解。
11.0.18
3.9.5
v21.5.0
如果node版本有报错过低,则可以切换版本,node版应该至少v16.5.0。
// 安装方式以下三选一
// 使用 npm
sudo npm install n -g
// yarn
yarn global add n
// 使用 brew
brew install n
sudo n 版本
10.2.4
clone成功后,先不要去编辑器中运行,最好先命令(控制台命令)编译好,因为需要下载很多依赖,编译安装的过程中也会生成一些类,直接打开会报错。
git clone https://github.com/thingsboard/thingsboard.git
cd thingsboard
在thingsboard项目目录下运行maven install指令开始编译安装:
mvn clean install -DskipTests
[INFO] --- frontend:1.12.0:yarn (yarn pkg) @ web-ui ---
[INFO] Running 'yarn run pkg' in /Users/lidongbin/code/java/thingsboard/msa/web-ui
[INFO] yarn run v1.22.17
[INFO] $ tsc && pkg -t node16-linux-x64,node16-win-x64 --out-path ./target ./target/src && node install.js
[INFO] > pkg@5.7.0
[INFO] > Fetching base Node.js binaries to PKG_CACHE_PATH
[INFO] > Not found in remote cache:
[INFO]?? {"tag":"v3.4","name":"node-v16.15.0-linux-x64"}
[INFO] > Building base binary from source:
[INFO]?? built-v16.15.0-linux-x64
[INFO] > Error! Not able to build for 'linux' here, only for 'macos'
[INFO] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[ERROR] 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. org.apache.commons.exec.ExecuteException: Process exited with an error: 2 (Exit value: 2) -> [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 :web-ui
pkg-cache下没有对应mac版本的node16.5.0版本的pkg相关文件。
我们可以通过下载对应的pkg-cache相关文件来避免此错误。
参考3.3.1、node版本切换
pkg-cache相关文件下载地址(vercel/pkg-fetch · GitHub)A utility to fetch or build patched Node binaries used by `pkg` to generate executables. This repo hosts prebuilt binaries in Releases. - Releases · vercel/pkg-fetchhttps://github.com/vercel/pkg-fetch/releases找到node16.5.0版本的assets,将linux,macos,win都下载(其实在mac下只需要macos)。
将下载后的文件,重命名为
然后放入~\.pkg-chche\3.4目录中。
mvn clean install -DskipTests
在IDEA中打开项目,并修改thingsboard.yml
中数据库相关配置,替换用户名密码。
将dao
模块下,sql文件拷贝至application
模块data/sql
目录中
运行?ThingsboardInstallApplication
,完成thingsboard
表结构和数据的初始化。默认情况下,使用系统管理员sysadmin@thingsboard.org
,sysadmin
进行登录 。当然,初始化用户可以在配置文件中自定义。
接着运行ThingsboardServerApplication
,访问http://localhost:8080/ 自动跳转至登录页面