鸿蒙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文件中。
    表1 oh-package.json5字段及迁移说明

    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:混淆代码,即源码经过混淆之后发布上传。

    说明

    • 工程的package.json文件的dependencies字段处理方式如下:
      • @ohos/hypium:测试框架的依赖,迁移时需要放到oh-package.json5文件的devDependencies字段下;
      • 删除@ohos/hvigor和@ohos/hvigor-ohos-plugin字段,无需迁移到oh-package.json5中;
      • 其他依赖可直接复制到oh-package.json5的dependencies字段中。
    • 除表格中呈现的字段外,package.json中其余字段暂不支持迁移。如您在历史工程中使用到其余字段,请反馈您所使用的字段(选中文本,点击“意见反馈”)。
    表2 .npmrc文件迁移字段对照及说明

    .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

  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”,请参见对应解决方案

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值