
# 通过客户端上传/下载OHPM组件
CodeArts Artifact支持与本地客户端对接，用户A可以通过客户端的方式将本地客户端中的OHPM私有组件上传至CodeArts Artifact私有依赖库，其他用户再通过客户端的方式从CodeArts Artifact私有依赖库下载用户A上传的OHPM组件，实现OHPM组件的共享或传递。
#### OHPM组件介绍
OHPM全称OpenHarmony Package Manager，是一个ArkTS包管理工具，OHPM组件包就是OHPM管理的对象，而OHPM私有依赖库就是管理和存储OHPM组件包的一个私有仓库。
OHPM组件包包含HAR包（Harmony Archive）和HSP包（Harmony Shared Package）：
- HAR包：静态共享包，编译态复用。主要作为二方库或三方库供其他应用依赖使用；包含资源文件、\*.so文件、元数据文件等。
- HSP包：动态共享包，运行时复用。主要提供共用的代码或资源，提高代码的可重用性和可维护性。
 
#### 约束与限制
不同用户账号的私有依赖库仓库密码不同，当用户以不同账号访问私有依赖库时，如果需要使用仓库密码，则需要在各仓库"操作指导"中重新下载配置文件获取仓库密码。
#### 前提条件
- 使用客户端工具为npm，依赖管理工具ohpm，请确保已经安装node.js 16.x 及以上版本。
- 已[创建OHPM仓库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0008.html)。
- 需要具备当前仓库的"下载/查看"权限，如需获取"下载/查看"的权限，请参考[配置私有依赖库权限](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0047.html)配置。
 
#### 通过客户端上传OHPM组件
1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#cloudartifact_01_0007__section1789618380209)。
2. 在私有依赖库页面选择对应的OHPM仓库，单击"操作指导"。
3. 在"操作指导"对话框下载配置文件"ohpmrc"文件，将下载的"ohpmrc"文件重命名为".ohpmrc"文件。 
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002545219399.png "点击放大")
   
   
4. 将文件复制到用户目录下，路径为： 
   - Linux系统路径为：\~/.ohpmrc
   
   - Windows路径为：C:\\Users\\\<UserName\>\\.ohpm\\.ohpmrc
   
   
   
   
5. 执行以下命令将OHPM组件上传到仓库。
   
   ```
   ohpm publish {file path}\{package name}
   ```
   - *file path*：本地ohpm组件路径。
   
   - *package name*：本地ohpm组件的名称。
   
   
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513859434.png "点击放大")
   
   
 
#### 通过客户端下载OHPM组件
使用以下命令进行客户端下载。
```
ohpm install {package name}
```
*package name* ：[5]中上传OHPM组件后返回的name参数，如下图所示。
![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002545300513.png "点击放大")
下载成功如下图所示。
![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002545220527.png "点击放大")
