一、前言

很多 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": {}
}

注意:

  1. name必须带组织名
  2. description不能是默认占位符,错误示例:"description": "Please describe the basic information."
  3. 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

基本都可以一次审核通过,避免反复打回修改。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐