鸿蒙PC的包管理工具 Homebrew 正式上线,Harmonybrew介绍及使用指南
OpenHarmony 作为华为开源的操作系统,正在快速发展。然而,与 Linux 生态相比,OpenHarmony 上的包管理工具一直相对匮乏。开发者想在鸿蒙设备上安装开发工具、命令行软件时,往往需要手动下载、编译、配置,过程繁琐且不易维护。好消息来啦,鸿蒙PC上的包管理工具 Homebrew 上线。这是专为OpenHarmony系统打造的 Homebrew 移植版本,旨在将 Homebrew 强大而优雅的包管理能力带入鸿蒙生态。让熟悉的包管理体验,在鸿蒙世界里延续。
官方网站:https://harmonybrew.atomgit.com/
一、什么是 Harmonybrew?
Harmonybrew是一个开源的包管理器,它将经典的Homebrew(macOS / Linux 上最流行的包管理工具)移植到了OpenHarmony操作系统上。这意味着,开发者可以在鸿蒙设备上使用熟悉的brew install、brew search、brew update等命令来安装和管理软件包。类似于Ubuntu上的apt-get或CentOS上的yum包管理工具,功能类似于Homebrew(Homebrew是Mac上最好用的包管理工具)。
| 特性 | 说明 |
|---|---|
| 开源免费 | 基于 Homebrew 开源项目,遵循 BSD 2-Clause 许可证 |
| 原生体验 | 命令语法与 Homebrew 完全一致,零学习成本 |
| 鸿蒙适配 | 针对 OpenHarmony 内核和文件系统做了深度适配 |
| arm64 支持 | 目前支持 arm64 架构的鸿蒙设备 |
| 多形态设备 | 支持鸿蒙 PC、鸿蒙开发板、鸿蒙容器 |
二、背景与意义
OpenHarmony 作为华为开源的操作系统,正在快速发展。然而,与 Linux 生态相比,OpenHarmony 上的包管理工具一直相对匮乏。开发者想在鸿蒙设备上安装开发工具、命令行软件时,往往需要手动下载、编译、配置,过程繁琐且不易维护。
Harmonybrew 的目标就是填补这一空白。通过将 Homebrew 的强大能力带入 OpenHarmony,开发者可以:
- 一键安装常用的命令行工具
- 自动解决依赖关系
- 方便地更新和卸载软件
- 利用庞大的 Homebrew 生态(逐步适配)
三、支持的设备
Harmonybrew 目前支持三种设备形态:
3.1 鸿蒙 PC
| 项目 | 说明 |
|---|---|
| 代表产品 | HUAWEI MateBook Pro |
| 最低系统版本 | HarmonyOS 6.1.0.117 SP68 |
| 命令行环境 | HiShell |
| 架构 | arm64 |
在鸿蒙 PC 上使用 Harmonybrew 最为便捷,HiShell 终端提供了完整的 shell 环境,安装体验最接近原生的 Homebrew。
3.2 鸿蒙开发板
| 项目 | 说明 |
|---|---|
| 代表产品 | dayu200 (rk3568) |
| 最低系统版本 | OpenHarmony 6.1 |
| 命令行环境 | hdc shell |
| 架构 | arm64 |
通过 hdc(鸿蒙设备连接器)连接开发板,可以在开发板上使用 Harmonybrew。需要注意的是,部分目录需要手动配置,且数据在重启后可能丢失(需重新创建软链接)。
3.3 鸿蒙容器
| 项目 | 说明 |
|---|---|
| 代表产品 | DockerHarmony |
| 最低系统版本 | OpenHarmony 6.1 |
| 命令行环境 | 任意 |
| 架构 | arm64 |
适合 CI/CD 环境或开发测试场景,容器内操作与开发板类似,但更方便管理和部署。
架构说明:目前仅支持arm64架构。
四、安装指南
4.1 在鸿蒙 PC 上安装
鸿蒙 PC 是体验 Harmonybrew 的最佳平台,安装步骤非常简单。
第一步:卸载冲突软件
如果 PC 中安装有GitNext和DevBox这两个应用,请先将它们卸载。这些应用可能与 Homebrew 的运行环境产生冲突。
第二步:打开安全开关
进入设置 → 系统 → 开发者选项,打开“开发者选项”开关。
然后进入设置 → 隐私和安全 → 高级,打开“运行来自非应用市场的扩展程序”开关。
第三步:安装 Homebrew
在 HiShell 终端中执行以下命令:
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"安装脚本会自动检测系统环境,下载并安装适合鸿蒙系统的 Homebrew。
第四步:配置环境变量
安装完成后,按照脚本的提示,将 Homebrew 加入 PATH:
echo >> ~/.zshrc echo 'eval "$(/storage/Users/currentUser/.harmonybrew/bin/brew shellenv)"' >> ~/.zshrc eval "$(/storage/Users/currentUser/.harmonybrew/bin/brew shellenv)"配置完成后,重新打开终端,输入brew --version确认安装成功。
4.2 在鸿蒙开发板上安装
开发板的安装步骤稍多一些,需要手动配置目录和环境。
第一步:配置所需目录
Homebrew 运行过程中需要使用$HOME、/usr/bin、/storage/Users/currentUser等目录,需要手动配置:
mount -o remount,rw / mkdir -p /usr mkdir -p /data/storage/Users/currentUser ln -s /bin /usr/bin # /storage 目录在 tmpfs 上,数据无法持久化,每次重启设备后需要重新创建软链接 ln -s /data/storage/Users /storage/Users # hdc shell 环境下 HOME 变量默认指向 / 目录,这个目录可用空间很少 # 需要将其指向一个大容量的目录 # 此配置仅在当前终端有效,每次进入 hdc shell 需要重新设置 export HOME=/storage/Users/currentUser第二步:安装 curl 和 zsh
在上位机(Windows 电脑)下载好鸿蒙版 curl和鸿蒙版 zsh,并用 hdc 将 tar 包推到设备上。
在设备上解压,把里面的命令软链接到/usr/bin目录:
mount -o remount,rw / tar -zxf curl-8.19.0-ohos-arm64.tar.gz -C /data ln -s /data/curl-8.19.0-ohos-arm64/bin/curl /usr/bin/curl tar -zxf zsh-5.9-ohos-arm64.tar.gz -C /data ln -s /data/zsh-5.9-ohos-arm64/bin/zsh /usr/bin/zsh第三步:安装 Homebrew
确保开发板已联网,然后执行:
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"第四步:配置环境变量
手动将 Homebrew 加入到 PATH 中:
# 此配置仅在当前终端有效,每次进入 hdc shell 需要重新设置 export PATH=/storage/Users/currentUser/.harmonybrew/bin:$PATH4.3 在鸿蒙容器上安装
容器内的安装介于 PC 和开发板之间,操作也相对简单。
鸿蒙容器项目的地址:https://github.com/hqzing/dockerharmony
新的镜像标签是这个 :hqzing/dockerharmony:latest
第一步:安装 zsh
在容器内通过 curl 下载 zsh,将其软链接到/usr/bin目录下:
curl -fLO https://github.com/Harmonybrew/ohos-zsh/releases/download/5.9/zsh-5.9-ohos-arm64.tar.gz tar -zxf zsh-5.9-ohos-arm64.tar.gz -C /opt ln -s /opt/zsh-5.9-ohos-arm64/bin/zsh /usr/bin/zsh第二步:安装 Homebrew
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"第三步:配置环境变量
按照安装脚本的提示,执行以下命令,将 Homebrew 加入到 PATH 中:
echo >> ~/.mkshrc echo 'eval "$(/storage/Users/currentUser/.harmonybrew/bin/brew shellenv)"' >> ~/.mkshrc eval "$(/storage/Users/currentUser/.harmonybrew/bin/brew shellenv)"五、常用命令速查
Harmonybrew 的命令与标准 Homebrew 完全一致,以下是常用命令列表:
| 命令 | 说明 |
|---|---|
brew update | 更新 Homebrew 包管理器和包索引 |
brew formulae | 列出软件仓库中可用的软件包列表 |
brew search [keyword] | 在软件仓库中通过关键词搜索软件包 |
brew install [formula] | 安装软件包 |
brew uninstall [formula] | 卸载软件包 |
brew list | 查看已安装的软件包列表 |
实用管理命令
清除缓存:
rm -rf $(brew --cache)彻底删除 Homebrew 安装目录(比卸载脚本删得更干净):
rm -rf $(brew --prefix)安装与卸载脚本
安装 Homebrew:
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"卸载 Homebrew:
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/uninstall.sh)"六、项目架构与设计理念
6.1 与标准 Homebrew 的关系
Harmonybrew 是基于 Homebrew 的二次开发,并非从零编写。核心思路是:
- 复用 Homebrew 的核心逻辑—— Ruby 编写的 Formula 解析、依赖管理、安装引擎
- 替换底层系统接口—— 适配 OpenHarmony 的文件系统、进程管理、权限模型
- 重新编译依赖的工具链—— 如 curl、zsh 等需要在 OpenHarmony 上重新编译
6.2 存储路径
Harmonybrew 默认安装在用户目录下:
/storage/Users/currentUser/.harmonybrew/这与标准 Homebrew 安装在/usr/local(macOS)或/home/linuxbrew(Linux)不同,主要是考虑到 OpenHarmony 的设备形态差异较大,安装在用户目录可以避免权限问题。
6.3 为什么需要 zsh?
Homebrew 的安装脚本和核心工具使用 Zsh 编写,因此在安装 Harmonybrew 之前,需要确保设备上有 Zsh。在鸿蒙 PC 上,HiShell 已经包含了 Zsh;在开发板和容器上,则需要手动安装。
七、常见问题与排错
Q1: 安装时报 “Permission denied” 错误
原因:文件系统权限不足。
解决:在开发板上需要先执行mount -o remount,rw /将根分区重新挂载为可读写。
Q2: hdc shell 下重启后 brew 命令找不到了
原因:开发板的/storage目录位于 tmpfs 上,重启后软链接和环境变量都会丢失。
解决:每次进入 hdc shell 后,重新执行以下命令:
ln -s /data/storage/Users /storage/Users export HOME=/storage/Users/currentUser export PATH=/storage/Users/currentUser/.harmonybrew/bin:$PATHQ3: 安装过程中 curl 下载失败
原因:设备未联网或网络受限。
解决:确保设备能够访问https://harmonybrew.atomgit.com和https://github.com。
Q4: brew install 安装软件时报错
目前 Harmonybrew 还处于早期阶段,软件仓库中的 Formula 数量有限。如果安装某个 Formula 失败,可能是因为该 Formula 尚未完成鸿蒙适配。可以通过brew search查看当前可用的软件包列表。
八、贡献指南与社区
Harmonybrew 是一个开源社区项目,欢迎所有开发者参与贡献!
| 链接 | 说明 |
|---|---|
| 贡献指南 | 了解如何提交代码、报告 Bug、参与讨论 |
| 问题反馈 | 提交 Issue 或反馈使用中的问题 |
| 社区说明 | 了解社区行为准则和交流方式 |
| 常见问题 | 查看更多常见问题解答 |
| 特色软件 | 查看已经适配的特色软件列表 |
九、总结与展望
Harmonybrew 的正式上线,意味着 OpenHarmony 生态在开发者工具链上迈出了重要一步。
对于开发者而言,Harmonybrew 带来了:
- 熟悉的体验—— 无需学习新工具,brew 命令即开即用
- 高效的效率—— 一键安装软件包,告别手动编译和配置
- 开放的生态—— 基于 Homebrew 的庞大社区,未来可用的软件包将越来越多
展望未来,Harmonybrew 团队计划:
- 适配更多的鸿蒙设备形态
- 扩充鸿蒙适配的 Formula 池
- 完善文档和社区建设
- 探索 x86_64 等其他架构的支持
立即开始使用 Harmonybrew:
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"官方网站:https://harmonybrew.atomgit.com/
开源仓库:https://atomgit.com/Harmonybrew让包管理,从鸿蒙开始。
更多分享请访问:猫哥的博客
欢迎加入鸿蒙PC开发者社区,共同打造开发者工具生态: 鸿蒙PC开发者社区
