HarmonyOS:ohpm使用指导
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )
➤GitHub地址:https://github.com/strengthen
➤原文地址:https://www.cnblogs.com/strengthen/p/18508503
➤如果链接不是为敢技术的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
OHPM CLI 作为鸿蒙生态三方库的包管理工具,支持OpenHarmony共享包的发布、安装和依赖管理。
如何安装
1、ohpm-repo 依赖于 node 运行,支持 node.js 18.x 及以上版本,请提前安装 nodejs,并完成环境变量的配置。Node.js安装请参考 Node.js官方网站。如何安装node.js,请参考我写的另一篇博文:《Mac系统安装Node.js及配置环境变量》
2、点击官网下载ohpm-repo:https://developer.huawei.com/consumer/cn/download/
2、下载【ohpm-repo-5.0.7.0.zip】,解压后修改文件夹名称为【ohpm-repo】
3、参考官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-ohpm-repo-quickstart-V5
请将ohpm-repo工具包解压目录中bin目录的路径配置到系统环境变量path中,可参考我的另一篇博文《Mac系统安装Node.js及配置环境变量》
export PATH=$PATH:bin文件路径
执行如下查询命令:
ohpm-repo -v
4、进入ohpm-repo工具包解压目录中的 bin 目录下,执行安装命令:
ohpm-repo install
如何启动
ohpm-repo安装成功后,进入ohpm-repo工具包解压目录下的 bin 目录下,执行如下命令,启动 ohpm-repo:
ohpm-repo start
启动成功,将会出现以下日志信息:
ohpm-repo 首次启动时,默认创建一个管理员账号,账号名称:admin,密码:12345Qq! 。该账号在首次登录时,需要修改其密码,请修改密码后,重新登录该账号。
从ohpm-repo获取三方库
可以为所有项目配置该私有仓,例如执行以下命令:
ohpm config set registry <配置的ohpm-repo私仓服务地址>/repos/ohpm ohpm install
或者在命令行中配置参数 --registry 使用,例如以下命令:
ohpm install @ohos/lottie --registry <配置的ohpm-repo私仓服务地址>/repos/ohpm
将三方库发布到 ohpm-repo
三方库包含静态共享包 HAR 包和动态共享包 HSP 包,可以通过 ohpm 命令行工具和使用 Web 页面两种方式发布。
从 ohpm 命令行工具 1.3.0 版本和 ohpm-repo 私仓 1.1.0 版本开始,支持动态共享包 HSP 包以 .tgz 文件形式发布到ohpm-repo,之前版本仅支持发布以 .har 文件形式的静态共享包 。
使用命令行工具发布
1、利用工具 ssh-keygen 生成公、私钥,可执行以下命令:
ssh-keygen -m PEM -t RSA -b 4096 -f <your_key_path>
<your_key_path>: 配置公钥和私钥的名称和存放路径,仅包含名称时,以当前命令行工作路径为存储目录。
OHPM 包管理器只支持加密密钥认证,请在生成公私钥时输入密码。
示例:
ssh-keygen -m PEM -t RSA -b 4096 -f D:\path\my_key_path
公钥和私钥存储在 D 盘 的 path 目录下,公钥和私钥名称分别为 my_key_path.pub 和 my_key_path。
- 登录 ohpm-repo 私仓管理地址,单击主页右上角的个人中心,新增公钥,将公钥文件(<your_key_path>.pub)的内容粘贴到公钥输入框中。
- 打开命令行工具,执行如下命令设置私钥路径。
ohpm config set key_path <your_key_path>
- 登录 ohpm-repo 私仓管理地址,单击主页右上角的个人中心,复制发布码。
- 将发布码配置到 .ohpmrc 文件中,可执行如下命令:
ohpm config set publish_id <your_publish_id>
- 三方库包含静态共享包 HAR 包和动态共享包 HSP 包,发布方式存在不同。
- 静态共享包HAR包
执行 ''ohpm publish <HAR包路径>'' 命令发布 HAR包,<HAR包路径> 指向的文件后缀需为 .har 文件的具体路径。例如执行以下命令:
ohpm config set publish_registry <ohpm-repo私仓管理地址>/repos/ohpm ohpm publish demo.har
或在命令行中配置参数 --publish_registry 使用,例如以下命令:
ohpm publish demo.har --publish_registry <ohpm-repo私仓管理地址>/repos/ohpm
- 动态共享包 HSP 包
动态共享包 HSP 包不能直接发布在ohpm-repo内,需要先转化为 .tgz 包,转换方法见:编译HSP模块。TGZ 包的发布流程同 HAR 一致。
执行 ''ohpm publish <TGZ 包路径>'' 命令发布 TGZ 包,< TGZ 包路径> 指向的文件后缀需为 .tgz 文件的具体路径。例如执行以下命令:
ohpm config set publish_registry <ohpm-repo私仓管理地址>/repos/ohpm ohpm publish demo.tgz
或在命令行中配置参数 --publish_registry 使用,例如以下命令:
ohpm publish demo.tgz --publish_registry <ohpm-repo私仓管理地址>/repos/ohpm
说明- 开发 HAR 包和 HSP 包,HSP 生成 .tgz 包和 .tgz 格式共享包转换为.har 格式等更详细内容请参考:开发及引用共享包。
- 发布时ohpm-repo私仓管理地址填写规则如下:
- listen 的 host 不为 0.0.0.0 时, 管理地址使用 listen 的完整格式,例如:当listen:localhost:8088,此处ohpm-repo私仓管理地址应填写:http://localhost:8088。
- listen 的 host 为 0.0.0.0 时,host 需更改为ohpm-repo私仓部署机器的ip/域名,例如:当listen:0.0.0.0:8088,此处ohpm-repo私仓管理地址应填写:http://<ohpm-repo私仓部署机器的ip/域名>:8088。
- 静态共享包HAR包
使用Web页面发布
在Web页面用管理员账号登录ohpm-repo私仓管理地址,在个人中心 > 仓库管理中,点击管理三方包 > 上传三方包,包的后缀名必须为 .har 或者 .tgz。
--------------------------
如何更改配置
用户级配置文件存放在C:/Users/用户名目录/.ohpm/.ohpmrc文件,显示默认配置,可执行如下命令:
ohpm config list -j
设置配置项,可执行如下命令:
ohpm config set key value
默认配置项如下所示:
配置项 |
字段名称 |
字段说明 |
字段类型 |
默认值 |
备注 |
---|---|---|---|---|---|
仓库设置 |
registry |
仓库地址 |
字符串 |
https://repo.harmonyos.com/ohpm/ |
可以配置多个仓库地址,多个仓库地址的优先级按照配置顺序排序。 |
@group:registry |
指定仓库 |
字符串 |
"" |
根据 group 指定组织的仓库地址。支持多个仓库地址,且优先级大于 registry 配置,多个仓库地址的优先级按照配置顺序排序。 |
|
发布设置 |
publish_registry |
发布仓库 |
字符串 |
https://repo.harmonyos.com/ohpm/ |
配置发布的仓库地址,仅支持配置一个仓库地址。 |
publish_id |
用户发布号 |
字符串 |
"" |
用户发布号,用来发布鸿蒙生态三方库,全局唯一。 |
|
路径设置 |
cache |
缓存路径 |
字符串 |
C:/Users/用户名目录/.ohpm/cache |
- |
key_path |
私钥路径 |
字符串 |
"" |
利用ssh-keygen 工具生成的私钥的放置路径地址。 |
|
网络设置
|
no_proxy |
不使用proxy代理 |
字符串 |
"" |
配置不使用代理的仓库地址,可配置多个,以英文逗号间隔;值可以是域名或者ip,支持二级域名通配符*(例如:*.huawei.com)。 |
http_proxy |
http代理 |
字符串 |
"" |
支持用户名和密码的网络代理,示例:http://proxy_server:port。 |
|
https_proxy |
https代理 |
字符串 |
"" |
支持用户名和密码的网络代理,示例:http://proxy_server:port。 |
|
strict_ssl |
ssl校验 |
布尔 |
true |
默认值为 true,校验 https 证书;若配置为 false,则不校验 https 证书。 |
|
ca_files |
ca证书路径 |
字符串 |
"" |
strict_ssl=true时校验服务端证书需要的ca证书放置路径,可以放置多个证书路径,以英文逗号间隔。 |
|
fetch_timeout |
请求超时时间 |
数值 |
60000 |
单位为毫秒。 |
|
其他设置 |
log_level |
日志级别 |
字符串 |
info |
可设置日志输出级别,对应级别类型有 debug、info、warn、error。 |
常用命令
命令类别 |
命令格式 |
含义说明 |
---|---|---|
版本查询 |
ohpm -v 或 ohpm --version |
查看ohpm-cli 版本号 |
帮助查询 |
ohpm help 或 ohpm -h 或 ohpm --help |
查看命令帮助列表 |
创建 |
ohpm init |
创建 oh-package.json5 文件 |
安装
|
ohpm install [[<@group>/]<pkg> [@<version>]] ... |
安装指定版本的三方库,当未指定三方库名称时,会根据当前目录下oh-package.json5 定义的依赖关系进行全量安装 |
ohpm install <folder> |
安装本地文件夹 |
|
ohpm install <tarball file> |
安装压缩包 |
|
卸载 |
ohpm uninstall [<@group>/]<pkg> ... |
卸载三方库 |
查看 |
ohpm list [[<@group>/]<pkg>[@<version>]] |
列出已安装的三方库 |
查询 |
ohpm info [<@group>/]<pkg>[@<version>] |
查询指定三方库的具体信息 |
设置ohpm配置项
|
ohpm config set key value |
设置配置值,如服务器地址,网络代理 |
ohpm config delete key |
删除配置 |
|
ohpm config get key |
获取单个配置项 |
|
ohpm config list |
获取所有的配置项列表 |
|
更新 |
ohpm update [[<@group>/]<pkg>] ... |
更新三方库 |
发布 |
ohpm publish [<folder> | <tarball file>] |
发布三方库 |
下架 |
ohpm unpublish [<@group>]<pkg>[@<version>] |
下架已发布的三方库 |
校验仓库地址 |
ohpm ping |
校验仓库地址是否有效 |
更多命令使用以及命令支持的配置项,请参阅ohpm-cli。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-10-27 [Swift实际操作]八、实用进阶-(10)使用Swift创建一个二叉树BinaryTreeNode
2018-10-27 [Swift]LeetCode5. 最长回文子串 | Longest Palindromic Substring