近期 Master 分支代码编译异常的解决方案
作者:坚果
公众号:“大前端之旅”
润开鸿技术专家,华为 HDE,InfoQ 签约作者,OpenHarmony 布道师,擅长 HarmonyOS 应用开发、熟悉服务卡片开发,在“战码先锋”活动中作为大队长,累计培养三个小队长,带领 100+队员完成 Pr 的提交合入。欢迎通过主页或者私信联系我,加入坚果派,一起学习 OpenHarmony/HarmonyOS 应用开发。
问题描述
近期(2023.03),主干代码更新了 hb(v1.0.0)工具,导致默认情况下 master 分支代码在执行 “hb build -f” 命令时出现如下异常:
ohos@ubuntu:~/Ohos/master$ hb build -f
......
[OHOS INFO] ERROR at //build/core/gn/BUILD.gn:104:14: Unable to load "/home/ohos/Ohos/Amaster/out/hispark_pegasus/wifiiot_hispark_pegasus/build_configs/BUILD.gn".
[OHOS INFO] deps = [ "$root_build_dir/build_configs:inner_kits" ]
[OHOS INFO] ^-----------------------------------------
......
复制代码
不管是轻量系统、小型系统、标准系统,只要执行了带 “-f” 参数的命令,都会出现上述异常。
解决办法
在 master 分支代码根目录下执行:
ohos@ubuntu:~/Ohos/master$ python -m pip uninstall ohos-build
ohos@ubuntu:~/Ohos/master$ python -m pip install --user build/hb
......
Successfully built ohos-build
Installing collected packages: ohos-build
Successfully installed ohos-build-1.0.0
复制代码
先卸载原有的 hb(v0.4.6)工具,再重新安装 hb(v1.0.0)工具。
重新执行 hb set 时,会将 mini、small、standard 三类系统进行一级区分:
ohos@ubuntu:~/Ohos/master$ hb set
OHOS Which os_level do you need? (Use arrow keys)
❯ mini
small
standard
复制代码
再进去执行 “hb build -f” 进行编译即可。
新问题和解决办法
经过上述重新安装 hb(v1.0.0)工具后,再在 3.2 Beta x 或 3.2 Release 版本(或更旧的版本)代码上执行 “hb set” 命令,会提示:
ohos@ubuntu:~/Ohos/B32Rel$ hb set
Traceback (most recent call last):
File "/home/ohos/.local/bin/hb", line 8, in <module>
sys.exit(main())
File "/home/ohos/.local/lib/python3.8/site-packages/hb/__main__.py", line 47, in main
raise Exception(
Exception: [OHOS_ERROR]: Please call hb utilities inside ohos source directory
复制代码
这时候可以在代码根目录下执行:
ohos@ubuntu:~/Ohos/B32Rel$ python -m pip uninstall ohos-build
ohos@ubuntu:~/Ohos/B32Rel$ python -m pip install --user build/lite
......
Successfully built ohos-build
Installing collected packages: ohos-build
Successfully installed ohos-build-0.4.6
复制代码
先卸载已安装的新 hb(v1.0.0)工具,再重新安装 hb(v0.4.6)工具。
重新执行 hb set 时和 hb build -f 即可。
评论