DevEco Studio5.0卸载安装5.1的在打开项目报错
DevEco Studio5.0卸载安装5.1的在打开项目报错
报错信息:
“D:\tools\DevEco Studio\tools\node\node.exe” “D:\tools\DevEco Studio\tools\hvigor\bin\hvigorw.js” --sync -p product=default --analyze=normal --parallel --incremental --no-daemon
> hvigor ERROR: 00303149 Configuration Error
Error Message: Path not found. At file: D:\project\app\knowlive\entry
- Try the following:
> Please check field: modules in file: D:\project\app\knowlive\build-profile.json5.
> hvigor ERROR: BUILD FAILED in 21 ms
Process finished with exit code -1
起因:
我正常开发使用 DevEco Studio5.0 正常开发,突然接受别人的一个项目,打开报错提示 开发工具版本过低需要升级到 5.1;
卸载了本地5.0 安装了 5.1;刚安装上,打开正常,正常启动接手的别人的项目;
第一天正常启动项目开发;第二天早上一来在打开就报错了,就是上面这个报错信息;
奇怪的是:我在把安装的 DevEco Studio5.1 卸载,重启电脑,重新安装DevEco Studio5.1,又正常使用了;但是隔一天在打开,又是上面同样的报错信息;
请问解决了吗
删除项目级缓存
rm -rf .hvigor/ .devenv/ build/
清除系统级IDE缓存(Windows路径示例)
rd /s /q "%USERPROFILE%\AppData\Local\Huawei\DevEcoStudio5.1"
关键是我昨天还正常 跑的项目,今天在打开就 报错,
D:\tools\DevEco Studio\tools\node\node.exe
D:\tools\DevEco Studio\tools\hvigor\bin\hvigorw.js
--sync -p product=default --analyze=normal --parallel --incremental --no-daemon
> hvigor ERROR: 00303149 Configuration Error
Error Message: Path not found. At file: D:\project\app\knowlive\entry
- Try the following:
> Please check field: modules in file: D:\project\app\knowlive\build-profile.json5.
> hvigor ERROR: BUILD FAILED in 20 ms
Process finished with exit code -1
这种情况尝试清理缓存,大多是因为缓存的问题导致的:
- 清理oh_modules文件夹
- 清理build文件夹
- 清理oh-package-lock.json5
这三个文件夹直接删除,每个包下面都有,懒得删的话可以写一个脚本来删除。
用下这个
@echo off
setlocal enabledelayedexpansion
REM === 脚本所在目录 ===
set "script_dir=%~dp0"
REM === 计算清理起始目录:脚本目录的上一级 ===
for %%I in ("%script_dir%..") do set "base_dir=%%~fI"
REM === 日志目录 & 文件 ===
set "log_dir=%script_dir%clean_log"
if not exist "!log_dir!" mkdir "!log_dir!"
for /f %%i in ('powershell -Command "Get-Date -Format yyyy-MM-dd_HHmmss"') do set "timestamp=%%i"
set "log_file=!log_dir!\log_!timestamp!.txt"
REM === 调用 PowerShell 脚本,传入 BaseDir 和 LogFile 参数 ===
powershell -NoProfile -ExecutionPolicy Bypass -File "%script_dir%clean_targets.ps1" -BaseDir "!base_dir!" -LogFile "!log_file!"
echo ----------------------------------------
echo 操作完成,日志文件位于:
echo !log_file!
pause
endlocal
你真棒,
根据错误信息,问题出在build-profile.json5
文件中配置的模块路径不存在。以下是详细的解决步骤:
原因分析:
-
路径配置错误:
build-profile.json5
中的modules
字段引用了不存在的路径D:\project\app\knowlive\entry
-
目录缺失:项目中的
entry
目录可能被误删除或未创建 -
配置与目录不匹配:模块名称与实际目录名称不一致(如大小写问题)
解决方案:
步骤 1:检查目录是否存在
打开项目根目录,检查以下路径是否存在:
D:\project\app\knowlive\entry
- 如果不存在👉 执行步骤 2
- 如果存在👉 执行步骤 3
步骤 2:恢复缺失目录
情况 A:目录被误删
-
从版本控制恢复(如有使用Git):
git restore D:\project\app\knowlive\entry
情况 B:目录未创建
-
手动创建目录:
mkdir D:\project\app\knowlive\entry
-
补充必要文件:
- 在
entry
目录内创建build-profile.json5
要求的模块文件
典型结构示例:
entry/
├── src/
│ ├── main/
│ │ ├── ets/
│ │ ├── resources/
│ │ └── module.json5
└── build-profile.json5
步骤 3:修正配置文件
打开 D:\project\app\knowlive\build-profile.json5
,定位到modules
配置:
// 示例配置
app: {
modules: [
{
name: "entry", // 检查模块名
srcPath: "./entry", // 检查路径配置
// ...其他参数
}
]
}
需要检查:
-
路径准确性:
- srcPath: "./entry" // 错误路径 + srcPath: "./src/entry" // 修正为实际路径
-
目录名一致性:
- 确保配置中的
name
与实际目录名完全一致(包括大小写) - 例如:目录名为
Entry
但配置写为entry
👉 修改为相同名称
- 删除无效模块(如果不需要该模块):
modules: [
// 删除或注释掉无效配置
// { name: "entry", ... }
]
步骤 4:清理并重建项目
完成修改后执行:
-
清理构建缓存:
hvigor clean
-
重新同步依赖:
hvigor --sync
-
重新构建:
hvigor
预防措施:
-
版本控制:将
entry
目录加入Git跟踪,避免误删 -
路径检查:
# 在项目根目录执行 dir /s /b | findstr "entry"
确认路径在资源管理器中的实际存在位置
-
IDE辅助:在DevEco Studio中使用
Refactor > Rename
安全修改目录名
⚠️ 如果问题仍存在,请提供以下信息:
build-profile.json5
中完整的modules
配置- 执行
tree /F D:\project\app\knowlive
的目录结构输出
DevEco Studio 5.1版本存在项目兼容性问题。当从5.0升级到5.1后打开旧项目时,主要报错原因是工程配置文件格式变更。解决方法:
- 备份项目
- 删除项目目录下的
.gradle
、.idea
、build
等缓存文件夹 - 重新导入项目
- 检查项目级别和模块级别的
build-profile.json
5.1配置文件格式
若仍报错,需要手动对比新旧版本配置文件差异并按5.1格式调整。部分插件和依赖项可能需要更新至适配5.1的版本。
从报错信息来看,问题出在项目配置路径D:\project\app\knowlive\entry
找不到。这可能是由于DevEco Studio 5.1版本对项目结构的处理方式有所改变导致的。
建议检查以下几点:
- 确认
build-profile.json5
文件中的modules
配置路径是否正确 - 检查项目目录结构是否完整,特别是
entry
目录是否存在 - 尝试清理项目缓存(
File > Invalidate Caches/Restart
) - 检查项目中的hvigor相关配置文件是否与5.1版本兼容
这种间歇性出现的问题可能与IDE缓存或环境变量有关,建议在每次启动项目前先执行clean操作。