OpenHarmony 作为华为开源的操作系统正在快速发展。然而与 Linux 生态相比OpenHarmony 上的包管理工具一直相对匮乏。开发者想在鸿蒙设备上安装开发工具、命令行软件时往往需要手动下载、编译、配置过程繁琐且不易维护。好消息来啦鸿蒙PC上的包管理工具 Homebrew 上线。这是专为OpenHarmony系统打造的 Homebrew 移植版本旨在将 Homebrew 强大而优雅的包管理能力带入鸿蒙生态。让熟悉的包管理体验在鸿蒙世界里延续。官方网站https://harmonybrew.atomgit.com/一、什么是 HarmonybrewHarmonybrew是一个开源的包管理器它将经典的HomebrewmacOS / Linux 上最流行的包管理工具移植到了OpenHarmony操作系统上。这意味着开发者可以在鸿蒙设备上使用熟悉的brew install、brew search、brew update等命令来安装和管理软件包。类似于Ubuntu上的apt-get或CentOS上的yum包管理工具功能类似于HomebrewHomebrew是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 加入 PATHecho ~/.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第二步安装 Homebrewzsh -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)安装与卸载脚本安装 Homebrewzsh -c $(curl -fsSL https://harmonybrew.atomgit.com/install.sh)卸载 Homebrewzsh -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/localmacOS或/home/linuxbrewLinux不同主要是考虑到 OpenHarmony 的设备形态差异较大安装在用户目录可以避免权限问题。6.3 为什么需要 zshHomebrew 的安装脚本和核心工具使用 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 等其他架构的支持立即开始使用 Harmonybrewzsh -c $(curl -fsSL https://harmonybrew.atomgit.com/install.sh)官方网站https://harmonybrew.atomgit.com/开源仓库https://atomgit.com/Harmonybrew让包管理从鸿蒙开始。更多分享请访问猫哥的博客欢迎加入鸿蒙PC开发者社区共同打造开发者工具生态 鸿蒙PC开发者社区