OHPM CLI(OpenHarmony Package Manager Command-line Interface) 作为鸿蒙生态三方库的包管理工具,支持共享包的发布、安装和依赖管理。
在DevEco Studio 3.1 Release及更高版本上新建API 9及以上版本的工程将使用ohpm作为默认包管理器。
说明
仅使用npm包管理的API 8/9历史工程需进行迁移。
整体迁移流程如下:
1. 迁移配置文件:将工程和模块下npm包管理相关配置文件package.json或.npmrc,迁移为oh-package.json5或.ohpmrc文件。
说明
若原工程中无.npmrc文件,则无需迁移为.ohpmrc文件。
2. 新增编译构建相关文件:在工程中新增hvigor相关的wrapper文件,包括hvigorw、hvigorw.bat、hvigor-config.json5、hvigor-wrapper.js配置文件。
3. 删除不再使用的npm包管理文件:包含package.json、package-lock.json、.npmrc、node_modules,工程和模块级别下均需进行删除处理。
迁移前需对工程进行备份。
具体迁移流程如下:
1. 在工程/模块级别中,涉及package.json或.npmrc的配置文件处,创建相同目录层级的oh-package.json5或.ohpmrc文件。
说明
若历史工程为C++工程,src>main>cpp目录下包含package.json或.npmrc,需做相同处理。
2. 将历史工程package.json和.npmrc文件中包含的需要迁移的字段,拷贝到对应的oh-package.json5和.ohpmrc文件中。
oh-package.json5包含字段 | 字段说明 | 迁移/新增字段 | 原package.json字段 | 说明 |
---|---|---|---|---|
name | 软件包名称 | 迁移字段 | name | 必选字段,若package.json文件中未指明,需在oh-package.json5添加补齐 |
version | 软件包版本 | 迁移字段 | version | 必选字段,若package.json文件中未指明,需在oh-package.json5添加补齐 |
description | 软件包简介 | 迁移字段 | description | 必选字段,若package.json文件中未指明,需在oh-package.json5添加补齐 |
keywords | 软件包关键字 | 迁移字段 | keywords | —— |
homepage | 主页链接 | 迁移字段 | homepage | —— |
license | 开源协议 | 迁移字段 | license | —— |
author | 软件包作者 | 迁移字段 | author | —— |
main | 软件包入口 | 迁移字段 | main | —— |
repository | 仓库地址 | 迁移字段 | repository | —— |
dependencies | 生产依赖 | 迁移字段 | dependencies | 该字段处理方式请参阅下方说明内容 |
devDependencies | 开发依赖 | 迁移字段 | devDependencies | —— |
types | 类型定义 | 迁移字段 | types | —— |
artifactType | 共享包类型 | 新增字段,非必选配置项 | —— | 可选项: original:源码,即发布源码(.ts/.ets)。obfuscation:混淆代码,即源码经过混淆之后发布上传。 |
说明
.npmrc字段 | 字段释义 | .ohpmrc对应字段 |
---|---|---|
registry | 仓库地址 | registry |
@${scope}:registry | 指定仓库 | @${group}:registry |
cache | 缓存路径 | cache |
noproxy | 不使用proxy代理 | no_proxy |
proxy | http代理 | http_proxy |
https_proxy | https代理 | https_proxy |
strict-ssl | ssl校验 | strict_ssl |
cafile | ca证书路径 | ca_file |
loglevel | 日志级别 | log_level |
3. 工程需要添加ohpm编译构建四件套hvigorw、hvigorw.bat、hvigor-config.json5、hvigor-wrapper.js。可新建一个API 9的新工程,拷贝新工程中hvigorw、hvigorw.bat、hvigor-config.json5、hvigor-wrapper.js四项配置文件,粘贴到历史工程文件夹对应位置。
4. 删除工程级别和模块级别下包含的package.json、package-lock.json、.npmrc、node_modules四项配置。
5. 点击File>Sync and Refresh Project,至此,历史工程手动迁移完成。
DevEco Studio在首次启动时,弹窗出现提示开启数据采集功能。该功能用于帮助DevEco Studio改进使用体验,收集的数据将按照关于HUAWEI DevEco Studio 平台与隐私的声明处理。
若后续需要关闭数据采集功能,请在File > Settings(macOS为DevEco Studio > Preferences)> Appearance & Behavior > System Settings > Data Sharing设置界面,取消勾选Send usage statistics关闭数据采集开关。
若开发过程中遇到DevEco Studio卡顿、卡死或其他故障时,可点击IDE Error问题弹窗中Send Report,点击OK后向DevEco Studio回传日志信息。
或通过菜单栏Help > Collect Logs and Diagnostic Data,选择并上传相关日志,帮助DevEco Studio提升稳定性体验。
若后续需要关闭数据采集功能,请在File > Settings(macOS为DevEco Studio > Preferences)> Appearance & Behavior > System Settings > Data Sharing设置界面,取消勾选Send usage statistics关闭数据采集开关。