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
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"
安装脚本会自动检测系统环境,下载并安装适合鸿蒙系统的 Homebrew。
第四步:配置环境变量
安装完成后,按照脚本的提示,将 Homebrew 加入 PATH:
zsh
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 等目录,需要手动配置:
zsh
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 目录:
zsh
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
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"
第四步:配置环境变量
手动将 Homebrew 加入到 PATH 中:
zsh
# 此配置仅在当前终端有效,每次进入 hdc shell 需要重新设置
export PATH=/storage/Users/currentUser/.harmonybrew/bin:$PATH
4.3 在鸿蒙容器上安装
容器内的安装介于 PC 和开发板之间,操作也相对简单。
鸿蒙容器项目的地址:https://github.com/hqzing/dockerharmony
新的镜像标签是这个 :hqzing/dockerharmony:latest
第一步:安装 zsh
在容器内通过 curl 下载 zsh,将其软链接到 /usr/bin 目录下:
zsh
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
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"
第三步:配置环境变量
按照安装脚本的提示,执行以下命令,将 Homebrew 加入到 PATH 中:
zsh
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 |
查看已安装的软件包列表 |
实用管理命令
清除缓存:
zsh
rm -rf $(brew --cache)
彻底删除 Homebrew 安装目录(比卸载脚本删得更干净):
zsh
rm -rf $(brew --prefix)
安装与卸载脚本
安装 Homebrew:
zsh
zsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"
卸载 Homebrew:
zsh
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 后,重新执行以下命令:
zsh
ln -s /data/storage/Users /storage/Users
export HOME=/storage/Users/currentUser
export PATH=/storage/Users/currentUser/.harmonybrew/bin:$PATH
Q3: 安装过程中 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:
zshzsh -c "$(curl -fsSL https://harmonybrew.atomgit.com/install.sh)"官方网站:https://harmonybrew.atomgit.com/
开源仓库:https://atomgit.com/Harmonybrew
让包管理,从鸿蒙开始。
更多分享请访问:猫哥的博客
欢迎加入鸿蒙PC开发者社区,共同打造开发者工具生态: 鸿蒙PC开发者社区