20分钟跑通流程:鸿蒙 Module 发布 OpenHarmony 实战(附完整配置)
本文详细介绍了OpenHarmony三方库发布的完整流程和注意事项。主要内容包括:创建OpenHarmony账号和组织、生成SSH密钥认证、准备LICENSE/README/CHANGELOG等必要文件、配置oh-package.json5、生成HAR包并发布。重点强调了审核常见问题,如文件缺失、描述不规范等,并提供了解决方案。通过本文20分钟即可完成从0到发布的全流程,适合HarmonyOS开发
一、前言
很多 HarmonyOS 开发者在封装完自己的组件、SDK 后,第一反应都是:
“怎样才能像 npm 一样,让别人直接
ohpm install使用?”
但真正开始发布时,会发现:
- key 配置报错
- 公钥校验失败
- LICENSE 不通过
- README 不合规
- CHANGELOG 缺失
- description 默认占位符被拒审
整个流程踩坑非常多,这篇文章不讲复杂原理,直接带你:
✅ 20分钟跑通 OpenHarmony 三方库发布
✅ 从 0 到成功发布
✅ 附完整配置和常见错误解决方案
适合:
- HarmonyOS SDK 开发者
- ArkTS 组件封装
- 企业内部组件库
- 想发布 OpenHarmony 三方库的开发者
二、整体流程
发布 OpenHarmony 三方库,本质只有三步:
1️⃣ 创建 OpenHarmony 账号 + 申请组织
用于管理和发布你的组件。
2️⃣ 生成 SSH 密钥 + 配置认证
OHPM 使用 RSA 密钥认证发布权限。
3️⃣ 生成 HAR 包 + 发布审核
上传后等待仓库审核通过即可。
三、创建 OpenHarmony 账号 && 申请组织
OpenHarmony 官方仓库:https://ohpm.openharmony.cn/
注册完成后:进入 「个人中心 -> 组织管理 -> 新增组织」

注意:
- 组织名称必须填写
- 描述必须填写
后续发布的包名:@组织名/组件名,例如:@ericbyliang/lib_watermark
四、生成 SSH 密钥 && 配置认证
4.1 生成 RSA 公私钥
ssh-keygen -m PEM -t RSA -b 4096 -f ~/ohpmkey
注意:
⚠️ OHPM 目前只支持 PEM 格式 RSA 密钥。
⚠️ 输入密码时不要直接回车,必须设置非空字符。
执行后会得到:ohpmkey(私钥)、ohpmkey.pub(公钥) 两个文件
iMac ~ % ls | grep ohpmkey
ohpmkey
ohpmkey.pub
iMac ~ % open ./
4.2 配置私钥路径
ohpm config set key_path ~/ohpmkey
4.3 配置发布码 publish_id
ohpm config set publish_id UR7FAMETVU
这个 publish_id 在「个人中心 」

4.4 上传公钥
执行:
cat ~/ohpmkey.pub
或者用记事本打开,复制公钥粘贴到后台

五、创建 Library
在 DevEco Studio,「New Module -> Static Library」,例如创建库名:lib_watermark

六、发布前必须准备的文件
OpenHarmony 仓库审核非常严格,发布的 .har 或 .tgz 包,必须包含三个文件,否则会报错:
Original Error: HttpCode 400 The OHPM package must contain a non-empty changelog.md file.
|
文件 |
是否必须 |
|---|---|
|
LICENSE |
✅ |
|
readme.md |
✅ |
|
changelog.md |
✅ |

注意:
⚠️ 内容都不能为空
⚠️ 并要求符合规范
七、LICENSE 文件
LICENSE 必须包含真实许可证内容,推荐 Apache 2.0,执行以下命令可自动生成:
curl https://www.apache.org/licenses/LICENSE-2.0.txt -o LICENSE
八、readme.md 文件
README 必须需要有:
- 安装命令
- 简要的三方库使用说明
例如:
# lib_watermark
A HarmonyOS watermark component supporting security watermark overlay.
## Install
```bash
ohpm install @ericbyliang/lib_watermark
```
## Usage
```ts
import { WatermarkView } from '@ericbyliang/lib_watermark'
```
```ts
WatermarkView({
text: 'Confidential'
})
九、changelog.md 文件
CHANGELOG 必须需要有:
- 清晰的版本号
- 该版本的修改内容
例如:
## v1.0.0
- Initial release
- Support watermark overlay
十、配置 oh-package.json5
示例:
{
"name": "@ericbyliang/lib_watermark",
"version": "1.0.0",
"description": "A HarmonyOS watermark component supporting security watermark overlay.",
"main": "Index.ets",
"keywords": [
"watermark",
"security",
"HarmonyOS"
],
"author": "Eric Liang",
"license": "Apache-2.0",
"dependencies": {}
}
注意:
- name必须带组织名
- description不能是默认占位符,错误示例:"description": "Please describe the basic information."
- author不能为空,错误示例:"author": ""
十一、生成 HAR 包
点击对应 Library,「Build -> Make Module」,在build文件夹生成har文件


十二、发布组件
ohpm publish lib_watermark.har
此时会要求输入第4.1 步设置的密码

十三、等待审核
上传成功后,几分钟内会进入审核状态,审核通过已上架后即可安装:

ohpm install @ericbyliang/lib_watermark
十四、常见发布与审核问题
OpenHarmony 三方库中心的审核,相比 npm、Maven Central 会更严格一些。
第一次发布时,最容易遇到下面这些问题:
- Original Error: HttpCode 400 The OHPM package must contain a non-empty changelog.md file.
- oh-package.json5文件中的description字段不能使用默认占位符,,请根据实际内容修改; LICENSE文件中缺少许可证条款内容; README.md中未包含安装命令:ohpm install xxx或ohpm i xxx; README.md中缺少简要的三方库使用说明。
- CHANGELOG.md由清晰的版本号和该版本的修改内容组成,请补充版本号及该版本修改内容。
只要提前按照本文中的步骤和注意事项配置好:
- LICENSE
- README.md
- CHANGELOG.md
- oh-package.json5
基本都可以一次审核通过,避免反复打回修改。
更多推荐




所有评论(0)