ohos-build 安装失败分析

一、问题现象

使用 pip 工具指令:

python3 -m pip install --user ohos-build

下载 ohos-build 编译工具正常下载,但是测试 hb 指令时出现报错,提示在源码根目录调用 hb :

Traceback (most recent call last):
File "/home/jeck/.local/bin/hb", line 8, in
sys.exit(main())
File "/home/jeck/.local/lib/python3.9/site-packages/hb/main.py", line 49, in main
topdir = find_top()
File "/home/jeck/.local/lib/python3.9/site-packages/hb/main.py", line 37, in find_top
raise Exception("Please call hb utilities inside source root directory")
Exception: Please call hb utilities inside source root directory

二、分析解决问题

从报错上看起来一头雾水,看不出问题,具体分析需要扒源码查看,在 linux 下使用 vim 打开 main.py 文件,查看报错的函数 find_top(),代码如下:

def find_top():cur_dir = os.getcwd()while cur_dir != "/":hb_internal = os.path.join(cur_dir, 'build/lite/hb_internal')if os.path.exists(hb_internal):return cur_dircur_dir = os.path.dirname(cur_dir)raise Exception("Please call hb utilities inside source root directory")

这段代码调用了python 的 os 库的路径操作函数,功能就是获取当前目录,然后加上 build/lite/hb_internal 路径,再调用 os.path.exists 测试路径是否存在,如果存在则返回路径,不存在则调用 os.path.dirname 函数,改变 cur_dir 目录为上一级,重新拼接测试路径是否存在,循环到顶层目录,如果一直不存在则异常报错,打印

Please call hb utilities inside source root directory

我们到 /home/jeck/.local/lib/python3.9/site-packages/hb/ 目录下查看,发现 build/lite/hb_internal目录不存在,该目录是内核源码,没有内核源码,无法执行,我去 ohos_build 开源库看一看

将源码拷贝到本地,修改脚本的调用路径,调用下载源码,然后 hb 测试正常

三、出现新问题

在使用 hb set 设置编译选项时,设置无法生效,毕竟是直接搬源码,无法使用正常,所以又回到源码仓库,在 issue 发现官方提示,目前 ohos-build 版本是 0.4.6,对以前的版本不能支持,但小熊派官方教程没有及时更新指令,所以安装使用如下指令:

python3 -m pip install --user ohos-build==0.4.3

修改后安装 ohos-build 就可以正常使用了,目前这个问题已经反馈给小熊派官方,指令已经修正

ohos-build 安装失败分析相关推荐

  1. adb应用安装失败分析

    1. adb安装应用的时候有时可能失败,报出如下失败信息: [100%]/data/local/tmp/map-20160831.apkpkg:/data/local/tmp/map-20160831 ...

  2. Oracle EBS R12 On Oracle Enterprice 5.2 安装失败 分析和解决过程

    分析和解决方法看最后的说明 [@more@] 错误如下:原因正在查找中..估计原因是创建控制文件失败.. 由于是晚上自己的安装了,所以..没注意这些 Login Page ----------- ch ...

  3. 【安骑士】安装失败问题分析

    适用范围:本文的脚本只适用于阿里云云内机器. 问题现象 适用命令进行安装时一直提示安装失败,如下图 调试命令 下载新的安装脚本 wget update.aegis.aliyun.com/downloa ...

  4. linux系统脚本安装失败,ubuntu16.04下vim安装失败的原因分析及解决方案

    先给大家说下问题描述? 重装了ubuntu系统,安装vim出现了以下问题: sudo apt-get install vim 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信 ...

  5. cocoapods 安装失败 ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension.

    cocoapods 安装失败 完整报错 尝试安装 我的问题 使用 Alamofire 需要基于 CocoaPods,但是在尝试安装 CocoaPods 的过程中遇到了很多问题,捣鼓了很久都失败了,最后 ...

  6. win7安装android驱动失败怎么办,Win7蓝牙驱动安装失败的原因分析与解决方法

    蓝牙是一种支持设备短距离通信的无线电技术,现在不管是手机还是电脑都已经普遍的使用蓝牙功能了.如果Win7系统电脑没有安装蓝牙驱动的话,是需要安装后才能使用的.最近,有用户在安装蓝牙驱动的时候,发现安装 ...

  7. MATLAB安装失败,MATLAB软件总是运行特别慢原因分析

    MATLAB安装失败,MATLAB软件总是运行特别慢原因分析 原因:以前安装的matlab含有许可文件未删除. 解决方法:将c盘matlab文件全部删除即可.解决许可文件逆破解).

  8. 【安骑士】安装失败问题分析 1

    适用范围:本文的脚本只适用于阿里云云内机器. 问题现象 适用命令进行安装时一直提示安装失败,如下图 调试命令 下载新的安装脚本 wget update.aegis.aliyun.com/downloa ...

  9. Saleae Logic USB逻辑分析仪(SX24M8)安装失败原因分析

    工作环境(蓝色粗体字为特别注意内容) 1,软件环境:Windows 7 Ultimate sp1.Logic Setup 1.1.15 (32-bit) 2,参考文献: ① https://bbs.c ...

最新文章

  1. AI模型走下高科技神坛、走进大规模量产、深入渗透产业界丨百度研究院2020十大预测...
  2. 现在的学生太强了,徒手撸了一个小米商城项目(附源码)!
  3. 序列化流与反序列化流
  4. 分享B2B信息发布小技巧
  5. 福禄克OFP光纤测试仪5个强大的功能
  6. pycharm下的第一个函数程序
  7. Java基础练习之流程控制(三)
  8. 【图像去噪】基于matlab高斯+低通+巴特沃斯滤波虹膜图像滤波【含Matlab源码 501期】
  9. 8 个顶级网络攻击地图以及如何使用它们
  10. [ChneChen的随笔]中国文化清单上我们还记得什么
  11. 将无线鼠标改造成有线鼠标
  12. Laravel和Vue提供支持的VueFileManager v2.0.2私有云盘多用户网盘程序源码
  13. 高等数学学习笔记——第六十讲——向量值函数的导数与积分
  14. 为什么需要工作流调度系统?
  15. js中offset、client、scroll的区别
  16. 小i机器人最珍贵的双旦礼物:客户的认可和满意度
  17. 机器学习在制冷与空调方面的应用
  18. pdf预览在vue项目中的使用兼容ie浏览器
  19. java计算还有几天生日_计算你的下一个生日还有多少天,是星期几?
  20. 我才20岁,要接受自己的平庸吗?

热门文章

  1. 欧拉角细节/旋转顺序/内旋外旋
  2. 通过图纸和数字建筑表现来叙述古罗马遗产
  3. 遨博机械臂——末端工具ROS驱动
  4. Java从入门到放弃-序言
  5. 国外免费公共DNS解析服务器
  6. matlab 画梯形,转向梯形优化设计matlab程序
  7. 量子计算(5)基础知识3:量子逻辑门(下)
  8. HTML+CSS+JS制作一个生日祝福网站(程序员专属情人节表白网站)
  9. 学习python的书籍
  10. 前端Docker部署方案