DevEco Studio构建项目报错

DevEco Studio构建项目报错 【问题描述】:DevEco Studio构建项目报错,刚下载好新建工程是可以正常运行的,后来开始install导入第三方代码时有报错

【问题现象】:

cke_801.png

【版本信息】:DevEco Studio(6.0.1 release)

【复现代码】:无

【尝试解决方案】:新建项目也会出现这样的问题;重新安装开发工具后,刚开始创建项目可以运行,后来突然就install失败了


7 回复

开发者您好:

可能原因

在编译构建的过程中会有一些拷贝文件的操作,hvigor基于node会使用fse-extra模块的copySync接口执行拷贝操作。copySync接口在拷贝文件目录时,若源目录中存在文件目录软链接,默认会在目标目录下创建同样的软链接,但是在windows系统中默认没有创建文件目录软链接的权限,所以会执行失败,导致构建报错。

解决措施

  1. 在windows系统,打开设置->系统->开发者模式,打开之后会拥有创建文件目录软链接的权限。
  2. 以管理员身份运行构建命令,在管理员身份下,会拥有创建文件目录软链接的权限。

注:在方法2中,可以先关闭DevEco Studio再右键点击DevEco Studio图标,选择以管理员身份运行DevEco Studio;或者以管理员身份运行终端,在终端中先执行 hvigorw --stop-daemon-all,以避免已运行的daemon进程的影响,然后执行构建命令。

详细参考链接:构建过程中控制台报错:“构建过程中控制台报错:EPERM: operation not permitted, symlink ‘xxxxxxxx’ -> ‘xxxxxxx’…”-编译构建-DevEco Studio-开发 - 华为HarmonyOS开发者

建议您在非系统盘(C盘)创建项目,比如:D盘。


本地在D盘创建项目运行后仍然会报该错误,

该错误通常由 符号链接(SymLink)权限不足 或 路径配置异常 导致,常见于 Windows 系统环境。具体表现为:

  • EPERM: operation not permitted:系统权限限制符号链接操作
  • Mkdir Error:路径嵌套过深或包含非法字符
  • Unknown Error:防病毒软件或安全策略拦截

可能出现的问题: 在编译构建的过程中会有一些拷贝文件的操作,hvigor基于node会使用fse-extra模块的copySync接口执行拷贝操作。copySync接口在拷贝文件目录时,若源目录中存在文件目录软链接,默认会在目标目录下创建同样的软链接,但是在windows系统中默认没有创建文件目录软链接的权限,所以会执行失败,导致构建报错。

是不是没有权限呀

DevEco Studio构建项目报错通常由以下原因导致:

  1. 项目配置文件错误,如build-profile.jsonmodule.json5中的语法或配置项问题。
  2. 依赖问题,包括HAP依赖缺失、版本冲突或网络问题导致依赖下载失败。
  3. Gradle或Ohpm相关配置错误,如缓存损坏、代理设置或版本不兼容。
  4. 资源文件错误,如图片、布局或字符串资源格式不正确。
  5. 开发环境问题,如Node.js版本不匹配、DevEco Studio版本过旧或系统环境变量配置错误。

请检查错误日志的具体信息以定位问题。

根据您提供的截图和描述,问题核心在于 install 阶段 npm 依赖包下载失败,具体表现为 @ohos/hypium 等包无法从默认的 npm 源(registry.npmjs.org)获取。

这是一个典型的网络或镜像源配置问题,而非代码或 DevEco Studio 本身的功能性错误。由于您提到新建项目初期正常,后续失败,这进一步指向了网络环境或缓存问题。

根本原因分析:

  1. 网络连接问题:您的开发环境可能无法稳定访问 npm 官方仓库 (registry.npmjs.org)。
  2. npm 镜像源问题:DevEco Studio 内置或您配置的 npm 镜像源可能暂时不可用、同步延迟或配置有误。
  3. 缓存或权限问题:本地 npm 缓存损坏,或项目目录的写入权限不足。

解决方案:

首选方案:配置华为镜像源 HarmonyOS 应用的 npm 依赖推荐使用华为镜像源,速度更快、更稳定。这是解决此类问题最有效的方法。

  1. 打开 DevEco Studio。
  2. 进入设置界面 (Windows/Linux: File -> Settings; macOS: DevEco Studio -> Preferences)。
  3. 导航到 Build, Execution, Deployment -> Node.js and npm
  4. npm packages 区域,找到或添加一个镜像地址。请将镜像地址设置为: https://repo.huaweicloud.com/repository/npm/
  5. 点击 ApplyOK 保存。
  6. 清理项目:点击菜单栏 Build -> Clean Project
  7. 重试构建:点击 Build -> Build HAP(s) 或同步项目(图标为两个箭头的按钮)。

备选方案:清理缓存并重试 如果配置镜像源后问题依旧,请执行以下操作:

  1. 清理 npm 缓存
    • 在 DevEco Studio 内置终端 (Terminal) 或系统命令行中,执行:
      npm cache clean --force
      
  2. 删除项目依赖锁定文件与目录
    • 关闭当前项目。
    • 前往您的项目根目录,手动删除 node_modules 文件夹和 package-lock.json 文件(如果存在)。
  3. 重启 DevEco Studio,重新打开项目。
  4. 再次尝试构建或同步项目。此时 DevEco Studio 会根据 oh-package.json5 文件,从新配置的镜像源重新下载所有依赖。

补充说明:

  • 您截图中的错误日志显示,失败是从 https://registry.npmjs.org 下载包时发生的。切换到华为镜像源可以完全规避对官方源的直接访问。
  • 请确保您的电脑网络可以正常访问 repo.huaweicloud.com
  • 如果您的项目需要通过公司代理访问网络,则需要在 DevEco Studio 或系统环境中正确配置代理设置。

按照上述步骤操作,尤其是配置华为镜像源后,应该能解决您的项目构建报错问题。

回到顶部