ohpm convert
============

将npm三方库转换为ohpm三方库。因为语法差异，转换时仅对文件进行格式转换，不修改原npm包的代码逻辑。若HAR包在转换后出现代码不兼容的报错，开发者需修改原npm包的代码做适配。

#### 命令格式

ohpm convert \[\[<@group>/\]<pkg>\[@<version> | @tag:<tag>\]\] --registry <string> \[--publish\]
ohpm convert <node\_modules\_path> \[--publish\]

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c5/v3/_JULdhS3TLmur14uBeocYA/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260709T132927Z&HW-CC-Expire=86400&HW-CC-Sign=085D71EBE7BFA6A4A674745149A6A6AA214A65300978B92EA4557B494FB022BF)

*   @group：三方库的命名空间，可选。
*   pkg：三方库名称，必选。
*   version：三方库的版本号，可选。
*   tag：三方库的标签，标签会标记三方库的某个版本号，可选。

#### 功能描述

将指定npm仓库中的某个包或者本地node\_modules目录下的包转换成满足ohpm格式要求的HAR包，并保存至当前工作目录，转换后的包将支持上传至ohpm-repo私仓或OpenHarmony三方库中心仓。

*   ohpm convert @group/pkg@version --registry <npm仓库地址>
    
    下载指定仓库中的某个包及其所有依赖项，并且将该包及其依赖转换为满足ohpm格式要求的HAR包。
    
*   ohpm convert <node\_modules\_path>
    
    转换本地node\_modules中的所有包为满足ohpm格式要求的HAR包，<node\_modules\_path>必须为npm执行install命令后生成的node\_modules目录。
    
    示例：
    
    ohpm convert ./xxxx/node\_modules
    

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/7a/v3/D8I1NINtSkSCXd0jQfGPFw/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260709T132927Z&HW-CC-Expire=86400&HW-CC-Sign=1CF5E3B60AA9225804233E814E3C52A8D1E216D7263044E6E3598E5F0B2AF665)

ohpm convert命令仅保留npm包中package.json配置文件中的name、version、main、types、license、description、author、keywords、homepage、repository、artifactType、dependencies、devDependencies、dynamicDependencies、overrides、scripts、hooks，module、packageType、typesVersions、exports和jsnext:main字段，具体字段说明请参考[oh-package.json5 字段说明](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-oh-package-json5#zh-cn_topic_0000001792256137_oh-packagejson5-字段说明)。

#### Options

#### \[h2\]registry

*   默认值：无
*   类型：URL

可以在convert命令后面配置 --registry <registry> 参数，指定仓库地址。如果指定了--registry，convert命令将从远程仓库地址下载指定的包及其依赖后，进行转换处理。如果没有指定--registry，convert命令将从本地node\_modules目录进行转换处理。

#### \[h2\]publish

*   默认值：false
*   类型：Boolean

可以在 convert命令后面配置 --publish 参数 ，若指定该参数，执行convert命令前请确认.ohpmrc推包相关配置无误，当所有包转换完成后将根据.ohpmrc中的配置依次进行推包。

#### \[h2\]log\_level

*   默认值：无
*   类型：String

从ohpm 6.0.2.636版本开始，可以在convert命令后配置--log\_level <string>参数，指定执行当前命令的日志级别（info、debug、warn、error），如果未指定该值则日志级别为.ohpmrc中配置的log\_level的级别。

#### \[h2\]debug

*   默认值：false
*   类型：Boolean

从ohpm 6.0.2.636版本开始，可以在命令后配置--debug参数，指定执行当前命令的日志级别为debug，该配置仅在当前命令行生效，不修改.ohpmrc中的日志级别，如果未指定该值则日志级别为.ohpmrc中配置的log\_level的级别。

#### 示例

**转换远程npm三方库中的包**

转换npm三方库中的axios包，执行以下命令：

ohpm convert axios --registry https://registry.npmjs.org/

结果示例：

PS C:\\Users\\xxxxx\\Desktop> ohpm convert axios --registry https://registry.npmjs.org
...
ohpm INFO: > start convert package: asynckit@0.4.0
ohpm INFO: > start convert package: axios@1.6.8
ohpm INFO: > start convert package: combined-stream@1.0.8
...
ohpm INFO: A total of 9 packets are converted successfully.
ohpm INFO: Converted packages are saved to the "C:\\Users\\xxxxx\\Desktop\\convert\_1712127991590" directory.

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/a9/v3/hwya-fOaQIW54PxU9dUmrg/zh-cn_image_0000002594475136.png?HW-CC-KV=V1&HW-CC-Date=20260709T132927Z&HW-CC-Expire=86400&HW-CC-Sign=CD21F423ACA034F78FF90DB627B6143141FC8FCF70FFC5A6862D311D84FC53A1 "点击放大")

**转换本地node\_modules目录中的包**

执行npm install uuid后，转换本地node\_modules目录中的包，执行以下命令：

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/9d/v3/NcpHKSqHQ9Owox8QG9gWZw/zh-cn_image_0000002594475138.png?HW-CC-KV=V1&HW-CC-Date=20260709T132927Z&HW-CC-Expire=86400&HW-CC-Sign=2F34F8E3CBD6D18A57202CB215A11B677D0BE1A8D4225A9645A141D605F32C63)

ohpm convert C:\\Users\\xxxxx\\Desktop\\uuidInstallDir\\node\_modules

结果示例：

PS C:\\Users\\xxxxx\\Desktop> ohpm convert C:\\Users\\xxxxx\\Desktop\\uuidInstallDir\\node\_modules
ohpm INFO: > start convert package: uuid
...
ohpm INFO: A total of 1 package(s) are converted successfully.
ohpm INFO: Converted packages are saved to the "C:\\Users\\xxxxx\\Desktop\\convert\_1712128912583" directory.

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/d7/v3/sE5kazxCTZ2pJ2rdukTMCA/zh-cn_image_0000002594635060.png?HW-CC-KV=V1&HW-CC-Date=20260709T132927Z&HW-CC-Expire=86400&HW-CC-Sign=99A6B43FCA3E1A1B77DA71F0C82AA4AAA330DEA06FBF38A8F042CBD1D5FEE2D9)