HarmonyOS 鸿蒙Next中"hvigor Create hvigor server failed. No Idle daemon can be found" 的编译错误

HarmonyOS 鸿蒙Next中"hvigor Create hvigor server failed. No Idle daemon can be found" 的编译错误 问题描述:Deveco Preview无法启动,界面提示:”hvigor Create hvigor server failed. No Idle daemon can be found“,没找到文档说明,参考社区文章解决,希望能优化下文档

**解决方案:**根据社区文章提供的解决方案未能解决,但是根据其中的解决思路,可采用以下方式进行排查:

第一步:根据自己本地的Deveco Studio安装路径,根据自己安装情况,修改并执行以下命令:

D:\DevEco Studio\tools\hvigor\bin\hvigorw.bat --status

可得到更底层的报错:daemon failed to listen on the port No available port was found in the specified range Invalid value of ‘DEVECO_SDK_HOME’ in the system environment path.

第二步:分两方面看:

  1. SDK路径和组件是否有问题:
a. 检查是否缺少HarmonyOS SDK和环境变量是否配置好,这里手动在终端设置$env:DEVECO_SDK_HOME='D:\HramonySDK',

b. 再执行再次执行 hvigorw.bat --status,这时错误从“SDK 路径无效”变成了: SDK component missing.

c. 查看SDK组件完整性

2.daemon 监听端口方向:

a. 定位到它的端口范围是固定值,不是动态分配的,这里的路径是D:\DevEco Studio\tools\hvigor\hvigor\src\base\daemon\const 下的daemon-const.js这个文件,里面固定端口范围是 45000-45099

b. 查看 java daemon 相关逻辑,这里路径是D:\DevEco Studio\tools\hvigor\hvigor\src\base\daemon\java 下的hvigor-java-daemon.js这个文件,可见 java daemon 默认起始端口是 45050

c. 在终端用 netstat / Get-NetTCPConnection 检查监听状态,这里没有发现 45000-45099 被普通进程显式监听,所以尝试手动绑定,但是全部都绑定失败,最后换了一批接口,改用55000-55099,用手动绑定是能用的,然后换过来后编译就没问题了。

最后也是成功解决,不太清楚本地那些端口为什么突然不能用了,这里是否可以在报错信息那里加上:这个固定端口段不可用。


更多关于HarmonyOS 鸿蒙Next中"hvigor Create hvigor server failed. No Idle daemon can be found" 的编译错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

尊敬的开发者,您好!感谢您的反馈,问题正在加速处理中,还请关注后续版本,感谢您的理解与支持。

更多关于HarmonyOS 鸿蒙Next中"hvigor Create hvigor server failed. No Idle daemon can be found" 的编译错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


已经向官方社区提单,您也可以在指导文档中,选择需要优化的文字后,点击右键反馈

该错误提示表示hvigor守护进程无法获取空闲实例。执行以下操作:

  1. 关闭DevEco Studio,结束所有hvigor相关进程(如hvigorw、hvigord)。
  2. 删除项目根目录下.hvigorbuild文件夹。
  3. 重新启动DevEco Studio,清理项目(Build > Clean Project),再次编译。

该错误通常是 hvigor 守护进程的固定端口段(45000-45099)无法监听所致。可通过运行 hvigorw.bat --status 定位到具体原因,常见为 DEVECO_SDK_HOME 环境变量无效、SDK 组件缺失或端口段被系统占用。在确认 SDK 正确后,若端口问题仍存在,可修改 daemon-const.jshvigor-java-daemon.js 中的端口范围(例如改为 55000-55099),重启 DevEco Studio 即可恢复编译。

回到顶部