仓库管理
====

仓库管理主要负责管理仓库信息，包括仓库中所有包权限管理，包的上传与下架和uplinks管理。

#### 管理仓库

ohpm-repo从5.3.0开始支持多仓配置，并且支持对每个仓库进行权限编辑。

仓库权限分为读权限和写权限。当用户在执行下载包、上传包、下架现有包和编辑包标签时，需要同时具有仓库的对应权限和[包的对应权限](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-package-permission-management)，缺一不可。

| 
仓库权限类型

 | 

前提条件

 | 

可执行操作

 | 

典型场景

 |
| :-- | :-- | :-- | :-- |
| 

可读

 | 

1\. 公开可读

2\. 授权可读，用户位于授权可读白名单中

 | 

*   下载包

 | 

开发者获取依赖包

 |
| 

可写

 | 

1\. 公开可写

2\. 授权可写，用户位于授权可写白名单中

 | 

*   下载包
*   上传包
*   下架现有包
*   编辑包标签（Tag）

 | 

维护者更新仓库内容

 |

管理仓库页面展示当前所拥有的仓库信息，包含如下四个功能：

1.  管理ohpm仓库三方包。
2.  编辑仓库。
3.  删除仓库。
4.  新增仓库。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/2f/v3/equL_Ei-QmS7UmD2xn5Kwg/zh-cn_image_0000002624991665.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=30CA8F46B1F367180532BDC3C81A306FFAD91CCAC7EE42740D809E4756FB73CF "点击放大")

#### \[h2\]管理三方包

管理三方包页面包含权限管理和上下架两部分。

#### \[h2\]**权限管理**

ohpm-repo从5.3.0版本开始支持配置包级别的访问权限。系统管理员能够对仓库中所有的包进行权限管理，支持配置包的可见性、白名单和管理所有者。支持通过包名模糊检索到需要管理权限的包。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/86/v3/HN4PzWO3ShqIDprCy0D94A/zh-cn_image_0000002594632248.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=943C676C935BC36B8EEBE3C2FE14B652759147505816249AD5F2C59DB6E1CB02 "点击放大")

*   区域1：可见性配置，能够配置一个包的可见性，默认为公开可读。当配置为授权可读时，支持在区域2中添加可读白名单。当包设置为公开可读时，所有用户对包具有下载和查看权限；当包设置为授权可读时，仅添加在可读白名单中的用户具有包的下载权限。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/e/v3/-N3m-yNpQFWs412JGLbUPw/zh-cn_image_0000002594472312.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=3CC1DEB42B50FF7CA29DD7ED555648AFB6A1B8B8C92FA12D5254AD7D61D4D2FA "点击放大")
    

*   区域2：白名单配置，在白名单中的用户将具有包的下载和查看权限，包的所有者和维护者会自动添加到包的白名单中。点击“新增用户”或“删除”按钮，可以在白名单配置中添加或者删除查看者用户，所有者和维护者用户禁止被删除。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/16/v3/mhUsoAPxSWyx-Tl0GwdJrQ/zh-cn_image_0000002594472292.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=8868FB2AAD6FE713C991A1A17ABA7D6676D989EE5BE3C7D7BA7EB76E8EF67234 "点击放大")
    

*   区域3：管理所有者，包的所有者具有包的下载，上传，下架和编辑包tag权限。支持对包所有者进行新增和删除，当包仅剩唯一一个所有者用户时，禁止被删除。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/6e/v3/rOgUL1DRRhWwQ8gh3wcXxQ/zh-cn_image_0000002594632236.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=C97DA5E97B34DD10CE54F8723AC72B52A17A737E56233DA7D86B3434ECA6297C "点击放大")
    

#### \[h2\]**上下架**

点击“管理ohpm仓库三方包”按钮，进入仓库管理详情面板，展示所有已上传至ohpm-repo的三方包信息。上下架包含上传三方包、单个包下架、批量包下架和搜索三方包四个功能。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/51/v3/PaVwi43oT3WiEaXmf57Mvg/zh-cn_image_0000002624991687.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=34CB6D9F93DFC4165BAF0AC9383C45B909C78865939097116FA6A8F9B1E48CE5 "点击放大")

*   区域1：上传三方包，点击“上传三方包”按钮，能够上传指定的包文件或选择本地三方包文件，将其上传至仓库中，页面效果如下图所示：
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/44/v3/CuAR0TDPRamxMSLEgVlHjw/zh-cn_image_0000002625071805.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=79B66866F7B800FD9C2A842DDEE69048CD72B2FD1FDB4A27DB4EF002F8A5EEC4 "点击放大")
    
*   区域2：下架，点击指定包右边的“下架”按钮，进行单个包下架操作，输入下架原因即可完成包的下架，页面效果如下图所示：
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/5e/v3/3YB4TWgCSV-x1nNG1t8nGQ/zh-cn_image_0000002625071817.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=237E27B1DC44B3612F9F3FA9FD705D8833A6BC8BCC0D0AC4030FFA31F228F312 "点击放大")
    
*   区域3：批量下架，勾选包左边的待选框，点击“批量下架”按钮，能够批量下架已勾选的包，可以通过改变页面底部每页包含的数据值，批量下架更多的包。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/29/v3/1QlbSMSDTKOwydxChFrIIg/zh-cn_image_0000002624991677.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=988D9A93E9440E9C30AC2057EF1C15022639015A47482AA12081E909F9E0AD18 "点击放大")
    
*   区域4：筛选，点击列表标题旁的漏斗图标，可以进行包数据的筛选。支持通过Name、Version、Publisher、Author和PublishTime字段筛选包数据。例如筛选出Name带有数字3，版本号大于等于2.0.0，发布人为accessToken1的包，数据筛选效果如下图所示：
    
    \- Name：支持对包名进行模糊搜索。
    
    \- Version：支持输入最小版本号和最大版本号，进行版本号区间搜索。
    
    \- Publisher：支持对包发布者名称进行模糊搜索。
    
    \- Author：支持对包作者名称进行模糊搜索。
    
    \- PublishTime：支持对包发布时间进行区间搜索。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/6/v3/5Gb4tvUyRUK2Yau9BCJQCA/zh-cn_image_0000002625071831.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=457C76E41860A62FB4490B17A792E437286FE0F5FF53E114D1B9A1EFF1324C17 "点击放大")
    

#### \[h2\]编辑仓库

点击指定仓库的“编辑”图标按钮，进入仓库信息编辑界面，可以修改仓库的Name 、Uplink、可读策略、授权可读白名单、可写策略，授权可写白名单、发布策略和描述信息。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/df/v3/T8ljRbD0T_aTVqgeLNGk3w/zh-cn_image_0000002594472334.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=5E2194513C353C11032123B8DF90A31DD078FC8309C6D43598958A3BB97F3A88 "点击放大")

*   Name：仓库的名称。当仓库发过包或者已添加授权可读白名单或可写白名单时，禁止修改仓库名。
*   Uplink：配置代理仓库地址。其中Uplink为下拉框选择，选项为仓库管理页面的[uplinks](#zh-cn_topic_0000001792256181_uplinks)面板配置的Uplink仓库。
*   可读策略： 分为公开可读和授权可读。当一个仓库被设置为授权可读时，将出现授权可读名单配置项，系统管理员默认具有仓库读和写权限。当仓库设置为公开可读时，所有用户对仓库具有读权限，能够访问仓库中包的信息和下载包；当设置为授权可读时，仅授权可读白名单中用户拥有仓库的读权限。当仓库可读策略设置为授权可读时，可写策略默认选择授权可写，不可修改。
*   授权可读名单：当可读策略选择授权可读时，将出现授权可读名单配置项，能够逐个添加仓库可读用户。授权可读白名单最多添加200个。支持搜索用户名逐个添加，也支持使用英文逗号分隔用户名批量添加。
*   可写策略：分为公开可写和授权可写。当一个仓库被设置为授权可写时，将出现授权可写名单配置项，仅在可写名单中的用户具有仓库的写权限，具有写权限默认具有读权限，系统管理员默认具有仓库读写权限。当仓库设置为公开可写时，所有用户对仓库具有写权限，能够对仓库中的包进行下载，上传，下架和编辑tag操作；当设置为授权可写时，仅授权可写白名单中用户拥有仓库的写权限。
*   授权可写名单：当可写策略选择授权可写时，将出现授权可写名单配置项，能够逐个添加仓库可写用户。授权可写白名单最多添加200个。支持搜索用户名逐个添加，也支持使用英文逗号分隔用户名批量添加。
*   发布策略：分为禁止同版本覆盖和支持同版本覆盖两种模式。在禁止同版本覆盖模式下，若尝试向仓库重复发布同一版本的包，系统会报错提示“该三方库已存在此版本”，确保版本唯一性。在支持同版本覆盖模式下，允许重复发布同版本包，新包将直接覆盖旧包，适用于需要持续更新的场景。用户可通过配置灵活选择适合的发布策略。**覆盖操作不可逆，请谨慎选择**。

#### \[h2\]删除仓库

点击“删除”图标按钮将删除当前选中的仓库。当仓库下存在上架包时禁止删除仓库，当仅剩最后一个仓库时禁止被删除。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f1/v3/d3QuprU8TuCHeGui0KOVlg/zh-cn_image_0000002594472324.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=4441C5B3543E283B191DE0B3C9B68D297F46D5C9CE837215A6E656D9FAB877A5 "点击放大")

#### \[h2\]新增仓库

点击“+”图标按钮将新增一个仓库，可以对仓库的Name、Uplink、可读策略、可写策略、发布策略和描述信息进行编辑。可读策略默认为公开可读，可写策略默认为公开可写，发布策略默认为禁止同版本覆盖。最多支持创建20个仓库。![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f3/v3/vtOaflZeTTeec43UaPDQ4w/zh-cn_image_0000002594472318.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=2C725AE97116CFF70980530971CB52CC0697754DFF6D4F764EC1F07C30039A14 "点击放大")

#### uplinks

uplinks功能可以让当前仓库获取配置的uplink仓库的所有包，若从某个已配置uplink的仓库下载当前仓库中不存在的三方包时，则会通过uplink仓库下载该包，如果访问uplink仓库需要代理，请配置好所需代理信息，uplink页面如下图所示：

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/b5/v3/b5xH_JD2Rq6rFuxI_sBN3Q/zh-cn_image_0000002625071783.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=0334CB152E0CA2493633AAD8C03EB364310396D4CAEF3555A68724FE7526DB5A "点击放大")

1.  点击新增按钮，可以创建新的uplink仓库。一旦完成新增uplink仓库的设置，必须前往仓库管理 > 管理仓库 > 编辑页面进行应用，这样该功能才会生效，且ohpm-repo只允许同时配置一个uplink仓库。uplink仓库地址不建议配置为其他ohpm-repo的地址，避免出现仓库A配置uplink为仓库B，仓库B配置uplink为仓库A，导致循环查找问题。页面效果如下图所示：
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/64/v3/SoKf5OfERKqf9DjOeUcLtQ/zh-cn_image_0000002594632220.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=A9AB79529AFE3C19AA4EA70999E59CF93D417EC8371AA8BB50D788BF6141FFE7 "点击放大")
    
2.  点击编辑，可以修改已配置的uplink仓库信息，页面效果如下图所示：
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/89/v3/ZUuwXufXSI6Bkk5G8ioTtg/zh-cn_image_0000002624991681.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=E2A1723EE12E994D76829EEF98AE0D5D4B7650831B8643C1D60E93A03A02AE6C "点击放大")
    
3.  点击删除，可以删除配置的uplink仓库，页面效果如下图所示：
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/3b/v3/BnSgiDHxSFupouzels6F-g/zh-cn_image_0000002625071827.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=48CABD0322F4A906D06068406DEA5440CD15F5EB92A815231C1C825633979221 "点击放大")
    
4.  由于搭建的ohpm-repo私仓可能需要通过代理来访问已配置的uplink仓库，因此ohpm-repo提供了代理功能。点击配置代理，可以添加代理信息，页面效果如下图所示：
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/1a/v3/Vy5MZMFNSQKlEQDo6bDf1Q/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=341C2C1EB7E1E69EE83AAD85B5EC4F84F7DB7101795CD1705A6190769FBEB990)
    
    HttpProxy、HttpsProxy和uplinks仓库地址有关，与搭建的代理服务器协议无关。若uplinks仓库地址是http协议，则选择HttpProxy配置代理；若uplinks仓库地址是https协议，则选择HttpsProxy配置代理。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f7/v3/gTRlartBQeCiIbdjzbrbWw/zh-cn_image_0000002594632242.png?HW-CC-KV=V1&HW-CC-Date=20260612T073821Z&HW-CC-Expire=86400&HW-CC-Sign=7FE56FBD3DDE467FED012155D75C3ACD2BC408A489D28E88EA2BC21ECDD37A13 "点击放大")