鸿蒙Harmony开发:OHPM包适配管理工具

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:混淆代码,即源码经过混淆之后发布上传。
    [表1oh-package.json5字段及迁移说明]

    说明

    • 工程的package.json文件的dependencies字段处理方式如下:
      • @ohos/hypium:测试框架的依赖,迁移时需要放到oh-package.json5文件的devDependencies字段下;
      • 删除@ohos/hvigor和@ohos/hvigor-ohos-plugin字段,无需迁移到oh-package.json5中;
      • 其他依赖可直接复制到oh-package.json5的dependencies字段中。
    • 除表格中呈现的字段外,package.json中其余字段暂不支持迁移。如您在历史工程中使用到其余字段,请反馈您所使用的字段(选中文本,点击"意见反馈")。
    .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_files
    loglevel 日志级别 log_level
    [表2.npmrc文件迁移字段对照及说明]
  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 ,至此,历史工程手动迁移完成。

说明

若同步时报错提示"Install failed FetchPackageInfo:hypium failed",请参见对应解决方案

相关推荐
傻啦嘿哟23 分钟前
Python 办公实战:用 python-docx 自动生成 Word 文档
开发语言·c#
翻滚吧键盘27 分钟前
js代码09
开发语言·javascript·ecmascript
q5673152333 分钟前
R语言初学者爬虫简单模板
开发语言·爬虫·r语言·iphone
万少1 小时前
第五款 HarmonyOS 上架作品 奇趣故事匣 来了
前端·harmonyos·客户端
OpenGL1 小时前
Android targetSdkVersion升级至35(Android15)相关问题
前端
rzl021 小时前
java web5(黑马)
java·开发语言·前端
Amy.Wang1 小时前
前端如何实现电子签名
前端·javascript·html5
时序数据说1 小时前
为什么时序数据库IoTDB选择Java作为开发语言
java·大数据·开发语言·数据库·物联网·时序数据库·iotdb
今天又在摸鱼1 小时前
Vue3-组件化-Vue核心思想之一
前端·javascript·vue.js
蓝婷儿1 小时前
每天一个前端小知识 Day 21 - 浏览器兼容性与 Polyfill 策略
前端