引用及管理共享包
========

引用三方HAR，包括从ohpm仓库进行安装、从本地文件夹和本地压缩包中进行安装三种方式。

*   引用ohpm仓中的HAR，首先需要设置三方HAR的仓库信息，DevEco Studio默认仓库地址为OpenHarmony三方库中心仓，如果您想设置自定义仓库，请在DevEco Studio的**Terminal**窗口执行如下命令进行设置：
    
    ohpm config set registry your\_registry1,your\_registry2
    
    说明：ohpm支持多个仓库地址，采用英文逗号分隔。
    
    支持通过如下方式配置三方包依赖信息：
    
    *   方式一：在菜单栏点击**Tools >** **OHPM Index**，进入DevEco Studio内置的OpenHarmony开源中心仓，选择需要的三方包，详情请参考[使用OpenHarmony开源中心仓管理三方包](#section1579838153916)。仅支持中国境内（香港特别行政区、澳门特别行政区、中国台湾除外）。
    *   方式二：在**Terminal**窗口中，切换到需要引入三方包的模块，如entry模块，执行如下命令安装三方包，DevEco Studio会自动在该模块的oh-package.json5中添加三方包依赖。
        
        cd path/to/your/project/entry
        ohpm install @ohos/lottie
        
    *   方式三：在需要引入三方包的模块的oh-package.json5中设置三方包依赖，配置示例如下：
        
        "dependencies": {
          "@ohos/lottie": "^2.0.0"
        }
        
        依赖设置完成后，需要执行**ohpm install**命令安装依赖包，依赖包会安装到该模块的oh\_modules目录下。
        
        ohpm install
        
    
*   引用本地模块源码（该本地模块必须与宿主模块归属于同一个工程），如entry模块需要依赖foo模块的源码，有如下两种方式：
    *   方式一：在**Terminal**窗口中，切换到需要引入本地模块源码的模块，即entry模块下，执行如下命令进行安装，并会在该模块下的oh-package.json5中自动添加依赖。
        
        cd path/to/your/project/entry
        ohpm install path/to/foo
        
    *   方式二：在需要引入本地模块源码的模块的oh-package.json5中设置源码依赖项，即entry模块的oh-package.json5中，添加如下配置：
        
        "dependencies": {
          "foo": "file:path/to/foo"  // 此处也可以是以当前oh-package.json5所在目录为起点的相对路径
        }
        
        依赖设置完成后，需要执行**ohpm install**命令安装依赖包，模块foo的源码会安装在entry模块的oh\_modules目录下。
        
        ohpm install
        

*   引用本地HAR/HSP包，有如下两种方式：
    *   方式一：在**Terminal**窗口中，切换到需要引入本地HAR/HSP包的模块，如entry模块，执行如下命令进行安装，并会在oh-package.json5中自动添加依赖。以HAR/HSP包在工程根目录下为例，配置示例如下（实际配置时请以HAR/HSP包实际目录为准）：
        *   引用HAR：
            
            cd path/to/your/project/entry
            ohpm install path/to/package.har
            
        *   引用HSP（\*.tgz包通过HSP模块在release模式下[编译](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hsp#section1833373964217)生成）：
            
            cd path/to/your/project/entry
            ohpm install path/to/package.tgz
            
    *   方式二：在需要引入三方包的模块的oh-package.json5中设置本地HAR/HSP包。以HAR/HSP包在工程根目录下为例，配置示例如下（实际配置时请以HAR/HSP包实际目录为准）：
        
        *   引用HAR：
            
            "dependencies": {
              "package": "file:path/to/package.har" // 此处也可以是以当前oh-package.json5所在目录为起点的相对路径。 
            }                                       
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f2/v3/0UH6oG_tTO6Y1iOkg2Dk3A/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073818Z&HW-CC-Expire=86400&HW-CC-Sign=195C8B1F74C6F0FAB0B5AECFB5D4AF164AE2EF7E7ACF6A4BACE251EB1E2D7AD7)
            
            代码片段中package.har为三方包文件名；"package"为引用该三方包所使用的依赖名称，建议与三方包包名，即三方包的oh-package.json5文件中的name字段保持一致。
            
        
        *   引用HSP：
            
            "dependencies": {
              "package": "file:path/to/package.tgz" // 此处也可以是以当前oh-package.json5所在目录为起点的相对路径
            }
            

依赖设置完成后，需要执行**ohpm install**命令安装依赖包，依赖包会安装在该模块的oh\_modules目录下。

ohpm install

另外，在安装或卸载共享包时，可在模块或工程的oh-package.json5文件中增加钩子设置，以管理install、uninstall命令的生命周期，配置示例如下：

 "hooks": {
    "preInstall": "echo 00 preInstall", // install命令执行之前
    "postInstall": "echo 00 postInstall", // install命令执行之后
    "preUninstall": "echo 00 preUninstall", // uninstall命令执行之前
    "postUninstall": "echo 00 postUninstall"  // uninstall命令执行之后
  }

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/a9/v3/rZv3yVn6S--mfTcO7AsVIg/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073818Z&HW-CC-Expire=86400&HW-CC-Sign=0196A30B59AE8DFF3084E1C3EC017CA6AA144ABD6DF101640EED24B7D4A0AA94)

*   目前只支持执行当前模块或工程的oh-package.json5文件中hooks，不支持执行依赖中hooks。
*   在引用共享包时，请注意当前只支持在模块和工程下的oh-package.json5文件中声明dependencies依赖，才会被当做依赖使用，并在编译构建过程中进行相应的处理。

#### 使用OpenHarmony开源中心仓管理三方包

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/3d/v3/xrz67fNcRse_Nq2jUfzsnQ/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073818Z&HW-CC-Expire=86400&HW-CC-Sign=CACFEEBA770CD25405E24F00B1F60F66A18667A01F949228D2FAB8D7C17B072F)

该功能仅支持中国境内（香港特别行政区、澳门特别行政区、中国台湾除外）。

从DevEco Studio 6.0.0 Beta5版本开始，新增OHPM Index入口，提供OpenHarmony开源中心仓的高效筛选和管理能力，提升开发者选型开发效率，消减因软件信息不对称导致的选型使用风险，快速选择与定位所需的开源三方库。

1.  在菜单栏点击**Tools >** **OHPM Index**，进入OpenHarmony开源中心仓。
2.  在左侧搜索框可查询三方包名称，或点击目录树，根据分类查看不同分类下推荐的依赖包信息。选定所需要安装的三方包，点击右上角蓝色按钮**Install**进行安装。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/ba/v3/7pJHXjjeQ0q1uwVsiMbnyA/zh-cn_image_0000002594474600.png?HW-CC-KV=V1&HW-CC-Date=20260612T073818Z&HW-CC-Expire=86400&HW-CC-Sign=699D8298D6D0220CA2A8ED71F8161F1C81B5834C8CD802BCD0F6CF35ACCBA426)
    
3.  安装过程中，如出现下方弹窗，点击**Add**按钮，将OpenHarmony中心仓地址添加到.ohpmrc文件中。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/b6/v3/uxQ18luoT8ygOlTLoV4MsQ/zh-cn_image_0000002594474606.png?HW-CC-KV=V1&HW-CC-Date=20260612T073818Z&HW-CC-Expire=86400&HW-CC-Sign=6FB92C4CBFD51FE6D24C80BBDEAFF54022EF3971BF1C3909724E96EB6AFF1011)
    
4.  三方包安装完成后，在工程级oh-package.json5文件中可以看到已安装的三方包名称及版本信息，oh\_modules中将同时添加该三方包。
5.  点击页面左上角![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/b3/v3/z7lL1Ih_QWWolN8EoZCafw/zh-cn_image_0000002624993957.png?HW-CC-KV=V1&HW-CC-Date=20260612T073818Z&HW-CC-Expire=86400&HW-CC-Sign=6D80FE89A92861D90142495488F9AB7DAC8D10021D135142239D5A849C170BE9 "点击放大")图标，展示当前已安装的三方包信息。若当前三方包非最新版本，可以点击右上角**Update**按钮，更新至最新版本；点击**Delete**按钮，可以删除当前已安装的三方包。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c1/v3/QgBffITrTp-YC_-MBNb0ow/zh-cn_image_0000002624993959.png?HW-CC-KV=V1&HW-CC-Date=20260612T073818Z&HW-CC-Expire=86400&HW-CC-Sign=EE9A4CE0726B151854D5961CCDD1EC1899BFF5A49245DA83341E2D9F850B018F)
    
6.  若对于已使用的三方包依赖存在推荐的同类三方包，可点击编辑界面中黄色灯泡图标，在弹框中选择**Replace selected with recommended library**，将当前依赖替换为推荐的三方包依赖；或选择**Replace all with recommended libraries**，一键替换当前文件中所有同类推荐三方包。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/80/v3/kNzwUEz6TteV-MPdNBY7zw/zh-cn_image_0000002594474602.png?HW-CC-KV=V1&HW-CC-Date=20260612T073818Z&HW-CC-Expire=86400&HW-CC-Sign=D54C388F99532C44265AA5C07F5DBB42872EA2707AFF3E7693F4ABD42BB6B1A0)