【OpenHarmony】问题:ohpm安装失败

目录

问题截图:

尝试:

1.排查注册表

2.修改strict_ssl

​编辑

3.尝试手动安装ohpm

1)下载ohpm工具包

2)执行init命令

​编辑

解决方案:

参考:

有相同问题的可以直接查看“解决方案”。


问题截图:

点击“Set it up now”之后出现:

尝试:

【HarmonyOS】【DevEco Studio】ohpm安装失败该如何解决? - Mayism123 - 博客园 (cnblogs.com)

【HarmonyOS】【DevEco Studio】ohpm安装失败该如何解决?-CSDN博客

        文章中提到了ohpm安装失败可能出现的4种问题,我对应的应该是第4种:

        因此,我尝试了1、2问题的方法无果之后,尝试参照文档手动下载,记录如下:

1.排查注册表

        该教程中排查注册表仅有文字描述,因此还参考了以下教程中的图片:

【HarmonyOS】安装DevEco Studio后检查环境出现ohpm not set up_素衣如岚的博客-CSDN博客

【HarmonyOS】安装DevEco Studio后检查环境出现ohpm not set up - 素衣如岚 - 博客园 (cnblogs.com)

        经过排查,我电脑的注册表中应该是没有值为chcp 65001的字符串的,如下所示:

2.修改strict_ssl

        我的问题和这个描述不太符合,但还是尝试着修改了一下:

3.尝试手动安装ohpm

ohpm使用指导-命令行工具-DevEco Studio使用指南-工具-HarmonyOS应用开发

1)下载ohpm工具包

HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者

2)执行init命令

        不太清楚这里说的“执行init命令安装ohpm”是什么意思,于是尝试了一下在命令行中转到“ohpm/bin”目录,直接输入init:

        又尝试参考下面这篇文章的操作,直接运行了“ohpm/bin”目录下的init.bat脚本。文章如下:

如何配置ohpm环境变量,以及ohpm的基础命令-开源基础软件社区-51CTO.COM

        直接运行脚本,显示如下界面,然后闪退:

        以管理员身份运行脚本,显示如下身份,然后闪退: 

        之所以认为是闪退,而不是运行完成,是因为再次使用ohpm -v指令时显示如下结果:

解决方案:

        决定先从“npm registry access”入手:

         点击“help document”,进入如下链接:

配置开发环境-HarmonyOS应用开发

        按照教程进入如下“Configure npm Settings”界面,点击“Diagnose Development Environment
”中的“Click here”好像也可以直接进入,如下图所示:

        我由于并不清楚“HTTP proxy”该如何配置,因此只勾选了“npm registry”和“ohos registry”:

        点击“OK”之后再进行检测,“npm registry access”问题就已经解决了:

        再依次点击“ohpm registry access”和“HarmonyOS SDK path setup”中的“Set it up now”,按照之前的步骤进行安装即可:

参考:

OpenHarmony应用开发入门与基础课程_第二章-入门_安装和配置DevEco Studio_哔哩哔哩_bilibili

配置开发环境-快速开始-DevEco Studio使用指南-工具-HarmonyOS应用开发

配置开发环境-HarmonyOS应用开发

ohpm使用指导-命令行工具-DevEco Studio使用指南-工具-HarmonyOS应用开发

HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者

【HarmonyOS】【DevEco Studio】ohpm安装失败该如何解决? - Mayism123 - 博客园 (cnblogs.com)DevEco Studio安装ohpm错误,如何解决?(操作系统-harmonyos) - 我爱学习网 (5axxw.com) 

【HarmonyOS】安装DevEco Studio后检查环境出现ohpm not set up - 素衣如岚 - 博客园 (cnblogs.com)如何配置ohpm环境变量,以及ohpm的基础命令-开源基础软件社区-51CTO.COM 

### OpenHarmony Package Manager (OHPM) 的概述 OpenHarmony Package Manager (OHPM) 是用于管理 HarmonyOS 应用程序依赖项和服务分发的一个工具集。它允许开发者通过定义清晰的版本控制策略来管理和发布软件包,从而简化应用程序开发流程[^1]。 当配置 npm 和 ohpm 仓库地址时,如果遇到 `ohpm registry access` 不成功的情况,可能的原因包括网络连接问题、权限不足或者本地环境未正确设置等问题。此外,在尝试发布构建好的 `.har` 文件时,可能会因为版本号不遵循 semver(语义化版本控制)标准而失败[^2]。 以下是有关如何使用 OHPM 工具的一些基本指导: --- ### 配置 OHPM 注册表访问 为了确保能够正常访问 OHPM 注册表,请按照以下方法验证并调整配置文件的内容: #### 修改全局配置 可以通过命令行修改 NPM 或者 OHMP 的注册表 URL 地址: ```bash npm config set @openharmony:registry https://your-ohpm-repo-url.com/ ``` 此操作会更新用户的全局配置文件 (~/.npmrc),使其指向指定的 OHPM 注册表服务端点。 #### 测试连通性 运行下面这条指令可以测试当前机器是否具备与目标服务器通信的能力: ```bash npm ping @openharmony:registry ``` 如果返回成功的状态码,则说明该路径下的资源可被顺利获取;反之则需排查防火墙规则或其他潜在障碍因素的影响。 --- ### 发布 .har 软件包注意事项 在准备上传一个新的 `.har` 包之前,请务必确认其 metadata 中所声明的 version 字段严格遵守 SemVer 格式要求。例如,“MAJOR.MINOR.PATCH”,其中 MAJOR 表示重大更改次数,MINOR 对应新增功能数量变化情况,PATCH 则记录修复错误后的修订版次序信息等细节部分。 一旦发现因版本命名不当引发冲突现象之后,可通过编辑 package.json 来修正相应字段后再重新提交请求完成整个过程。 --- ### 示例代码片段展示 假设我们有一个简单的 JavaScript 函数用来校验输入字符串是否满足 SemVer 规范的要求如下所示: ```javascript function isValidSemVer(versionString){ const regex = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/; return regex.test(versionString); } console.log(isValidSemVer('1.2.3')); // true console.log(isValidSemVer('v1.2.3-alpha.beta')); // false, leading 'v' is not allowed. ``` 上述函数利用正则表达式匹配机制实现了基础层面的有效性判断逻辑。 ---
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值