本来是昨晚的项目,当时还能正常预览的,今天就不太行了,然后我就捣鼓啊捣鼓,
最后改了:daemon-const.js和hvigor-java-daemon.js
- 把 daemon 监听范围从 45000-45099 改成了 55000-55099
- 把 java daemon 起始端口从 45050 改成了 55050
你们可以根据自己的改端口。

这是可行的临时修复方案,不是最优雅,但很现实

风险是 DevEco 更新后可能被覆盖,到时候要再改一次

最后总结一下:

DevEco Studio 的 Preview / hvigor daemon 在我的 Windows 环境下无法启动,报错为:
Create hvigor server failed. No Idle daemon can be found.

进一步通过 hvigor --status --debug 排查,发现底层原因是:
hvigor daemon: No available port was found in the specified range

已确认:
1. hvigor daemon 固定使用 45000-45099 端口段
2. 我本机该端口段无法绑定,但其他端口段(如 55000-55099)可以正常绑定
3. 将 hvigor 源码中的固定端口改为 55000-55099 后,Preview 恢复正常


当前问题并非项目代码错误,而是 hvigor/Previewer 对固定端口段依赖过强,且缺少自动切换机制。

也期望

支持自动选择可用端口
支持用户配置 daemon 端口范围
在报错信息中明确提示端口段不可用

希望越做越好

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐