z***@dreame.tech
z***@dreame.tech
  • 发布:2025-05-13 13:49
  • 更新:2025-05-13 16:21
  • 阅读:76

【报Bug】升级 HX 4.56+ 后,MacOS 通过 cli open 命令打开 HBuilderX 报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 15.3.2 (24D81)

HBuilderX类型: 正式

HBuilderX版本号: 4.64

手机系统: iOS

手机系统版本号: iOS 18

手机厂商: 苹果

手机机型: iPhone 14 Pro

页面类型: vue

vue版本: vue2

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:
# 连续执行两次 open  
/Applications/HBuilderX.app/Contents/MacOS/cli open  
/Applications/HBuilderX.app/Contents/MacOS/cli open

预期结果:

预期 cli 进程成功返回,错误流无输出

实际结果:

4.45 版本
cli 进程成功返回,错误流无输出

4.56 版本+
第一次 open 成功打开 HBuilderX
第二次 open 时,cli 进程抛出错误 The rpc request id: "100000" for method: "client verify" occur timeout!

bug描述:

我们在 MacOS arm64 系统中,使用 NodeJS 驱动 HBuilderX 提供的 cli 命令用作一些脚本化构建

其中用到了1条命令(cli 完整路径 /Applications/HBuilderX.app/Contents/MacOS/cli):

cli open

用于打开 HBuilderX,然后进行 APP 资源打包(因为我们之前流程中发现不先打开 HBuilderX,cli 并不会正常执行 publish)

cli publish --platform APP --type appResources --project xxxx

我们之前一直固定使用 4.45 的 HBuilderX,近期因为客户端升级了 SDK,所以开发者也同步升级了最新了 4.64 HBuilderX
但发现当 HBuilderX 已经启动的时候,再执行 cli open 会出现错误流的输出(stderr):
The rpc request id: "100000" for method: "client verify" occur timeout!

于是我们逐版本下降排查发现是 4.56 版本开始,HX 的 cli open 就有该类表现、而 4.45 版本是没有的

想咨询一下官方:
我们查阅了一下 4.56 近期的一些 change log,并未发现 cli 的 open 命令相关行为有变化,该问题是否为一个 bug?

  • 如果为 bug,后续是否会修复,我们如果想使用 4.64 版本的 HBuilderX 推荐是如何暂时规避该类问题?
  • 如果不为 bug(在已经打开了 HX 的时候重复 open 就是异常行为),那么我们如何通过 cli 来判断 HBuilderX 是否已经启动?以及是否可以不启动 HBuilderX 的情况下、调用 cli publish 的命令打包 APP 资源?
2025-05-13 13:49 负责人:无 分享
已邀请:
DCloud_HB_WDL

DCloud_HB_WDL

CLI没有参数可以判断HBuilderX是否已经启动。

在 Mac 电脑上,可以通过命令行使用 ps 或者 pgrep 命令来判断 HBuilderX.app 是否已经启动。

pgrep -x "HBuilderX"

如果返回了一个进程 ID(PID),说明 HBuilderX 已经启动;如果没有任何输出,说明程序未启动。

  • z***@dreame.tech (作者)

    感谢回复,官方目前对这个表现是符合预期的对吧(重复 open 为异常)

    这种情况下错误是否可以更可读的一些,不然很难知道是重复 open 导致(我们也是试了很久才发现)。


    那我们按照您建议处理,判断进程启动后不执行 cli open,直接走后续操作~

    2025-05-13 16:39

要回复问题请先登录注册