DevEco Studio打开工程报错

DevEco Studio打开工程报错 最近打开DevEco Studio工程老是报错

"\"D:\software\Huawei\DevEco Studio\tools\ohpm\bin\ohpm.bat\"" install --all --registry https://ohpm.openharmony.cn/ohpm/ --strict_ssl true
ohpm INFO: MetaDataFetcher fetching meta info of package '@ohos/hap' from https://ohpm.openharmony.cn/ohpm/
ohpm INFO: MetaDataFetcher fetching meta info of package '@ohos/system' from https://ohpm.openharmony.cn/ohpm/
ohpm WARN: fetch meta info of package '@ohos/system' failed - GET https://ohpm.openharmony.cn/ohpm/@ohos/system 404( undefined )
ohpm WARN: fetch meta info of package '@ohos/hap' failed - GET https://ohpm.openharmony.cn/ohpm/@ohos/hap 404( undefined )
ohpm ERROR: Run install command failed 
Error: 00617101 Fetch Pkg Info Failed
Error Message: FetchPackageInfo: "@ohos/system" failed
╰→ Caused by:
  Original Error: NOTFOUND package '@ohos/system@1.0.0' not found from all the registries https://ohpm.openharmony.cn/ohpm/

Process finished with exit code 1

cke_1867.png

DevEco Studio版本

cke_7732.png


5 回复

问题原因

@ohos/system 和 @ohos/hap 并非公开的 OHPM 仓库依赖包,直接从官方仓库拉取会报 404 错误,大概率是工程依赖配置错误或误引入了非标准包。

解决步骤

  1. 检查工程依赖配置文件 打开工程根目录下的 oh-package.json5 ,删除 dependencies 或 devDependencies 中 @ohos/system 和 @ohos/hap 相关的依赖项。
{
  "name": "your_project_name",
  "version": "1.0.0",
  "description": "",
  "main": "",
  "dependencies": {
    // 删除 "[@ohos](/user/ohos)/system": "^1.0.0" 这类配置
    // 删除 "[@ohos](/user/ohos)/hap": "^1.0.0" 这类配置
  },
  "devDependencies": {},
  "ohos": {
    "compilerVersion": "4.0.0"
  }
}
  1. 清理 OHPM 缓存并重新安装依赖
  • 打开 DevEco Studio 终端,执行缓存清理命令: ohpm cache clean

  • 删除工程根目录下的 oh_modules 文件夹和 oh-package-lock.json5 文件。

  • 重新执行依赖安装: ohpm install

  1. 替换为正确的系统 API 依赖 若工程需要系统能力相关 API,鸿蒙开发中直接通过 SDK 内置模块调用,无需额外引入 OHPM 包,例如:
  • 应用打包相关能力:使用 @ohos.bundle.bundleManager

  • 系统信息相关能力:使用 @ohos.systemInfo

补充说明

如果上述步骤无效,可检查 DevEco Studio 的 SDK 是否完整,通过 File > Settings > Appearance & Behavior > System Settings > HarmonyOS SDK 下载对应版本的 SDK 及工具。


一、错误原因分析

  • 核心系统包不可安装

    @ohos/system和@ohos/hap属于HarmonyOS系统核心SDK模块,这些包已内置在DevEco Studio中,无需通过ohpm安装。

  • 包名格式不兼容

    OpenHarmony 3.2+及HarmonyOS NEXT已全面采用新格式@kit.*的包命名规范,旧版@ohos.*命名在ohpm仓库中已失效。

二、解决方案步骤

  • 移除无效依赖

    检查oh-package.json5文件,删除以下无效依赖项:

    // 注释错误写法
    "dependencies": {
      //"@ohos/system": "^1.0.0",
      //"@ohos/hap": "^1.0.0"
    }
    
  • 清理缓存并重试

    在项目根目录执行:

    ohpm cache clean --force
    ohpm install
    

【解决方案】

配置ohpm仓的地址信息错误,正确的地址:https://ohpm.openharmony.cn/ohpm/

重新配置步骤:

  1. File->点击Settings。
  2. 在Settings面板下,按以下路径点击展开菜单:Setting->Build, Execution, Deployment->Ohpm->Optimize config。
  3. 在Configure Ohpm Settings页面,勾选ohpm registry,粘贴正确的ohpm仓地址,然后点击OK保存,关闭项目再打开就会自动生效。

详情参考官网配置OHPM代理

如果还是不能解决,麻烦提供一下错误日志。

DevEco Studio打开工程报错通常由以下原因导致:

  1. 项目SDK版本与DevEco Studio版本不匹配。
  2. 项目配置文件(如build-profile.json5)存在语法错误或配置项错误。
  3. 本地Node.js或Ohpm环境异常。
  4. Gradle或相关依赖包下载失败。

请检查项目配置、开发环境及网络连接。

这个错误是由于ohpm(OpenHarmony包管理器)在尝试安装依赖包@ohos/hap@ohos/system时,无法从配置的官方仓库(https://ohpm.openharmony.cn/ohpm/)找到对应的包导致的404错误。这通常与项目配置或网络环境有关。

主要原因和解决方案:

  1. 项目SDK/API版本与依赖包不匹配:这是最常见的原因。错误信息显示在寻找@ohos/system@1.0.0,这通常对应较旧的API版本。您的DevEco Studio版本(5.0.3.300)支持的是更新的HarmonyOS Next(API 12+)。这些核心系统包(@ohos/hap@ohos/system)在Next版本中可能已更名、集成或不再通过ohpm单独分发。

    • 检查项目配置:打开项目根目录下的build-profile.json5文件,查看compileSdkVersioncompatibleSdkVersion的值。确保它们与您安装的SDK版本匹配(例如,对于DevEco Studio 5.0.3,通常应设置为12或更高)。
    • 重新创建项目:如果这是一个从旧版本升级或迁移过来的项目,依赖配置可能已过时。建议使用当前DevEco Studio版本创建一个全新的HarmonyOS Next项目,然后将您的源代码文件(如ets页面、资源)复制到新项目中。这是最彻底的方法。
  2. ohpm仓库配置问题:虽然错误显示的是官方仓库,但有时本地缓存或配置异常。

    • 在DevEco Studio中,打开 “文件” > “设置” > “构建、执行、部署” > “HarmonyOS” > “Ohpm”,确认“Ohpm仓库地址”是正确的https://repo.harmonyos.com/ohpm/(这是Next版本的推荐仓库)。您可以尝试点击“恢复默认设置”。
    • 在项目终端中,手动运行 ohpm config get registry 查看当前仓库地址。如果需要,使用 ohpm config set registry https://repo.harmonyos.com/ohpm/ 进行更改。
  3. 网络连接或缓存问题

    • 确保您的网络可以正常访问repo.harmonyos.com
    • 清理ohpm缓存:在终端执行 ohpm cache clean
    • 在DevEco Studio中,尝试 “文件” > “使缓存无效并重新启动”

总结步骤: 首先,确认您的项目是一个为HarmonyOS Next(API 12+)创建的项目,并且build-profile.json5中的SDK版本设置正确。如果项目历史复杂,直接创建新项目并迁移代码是最快的解决方案。其次,检查并确保ohpm配置指向正确的Next版本仓库。

回到顶部