c***@hansiy.net
c***@hansiy.net
  • 发布:2026-04-23 11:41
  • 更新:2026-04-23 11:42
  • 阅读:15

【报Bug】HBuilderX CLI user login 用户名密码始终失败,但 HBuilderX GUI 可正常登录,导致 GitHub Actions 云打包无法使用中国区账号

分类:云服务

产品分类: 其他/云服务

示例代码:

& "C:\Users\hansiy\OneDrive\Desktop\HBuilderX\cli.exe" user login --global true --username "cndcloud@hansiy.net" --password "******"  

用户名或密码错误  
3:user login:FAILED 当前命令执行错误  
& "C:\Users\hansiy\OneDrive\Desktop\HBuilderX\cli.exe" user info  
GUI 登录后输出:  

cndcloud@hansiy.net  
0:user info:OK  
GUI 退出后输出:  

0:user info:OK  
GitHub Actions Linux CLI 登录输出:  

Incorrect email or password.  
3:user login:FAILED 当前命令执行错误

操作步骤:

复现步骤


1. 安装 HBuilderX 5.07,使用 Windows 版 `cli.exe`  
2. 在 HBuilderX GUI 中使用中国区账号登录,可以登录成功  
3. 执行:  
   `cli.exe user info`  
   可以看到当前账号  
4. 退出 HBuilderX GUI 登录  
5. 再执行:  
   `cli.exe user login --global true --username <中国区邮箱或手机号> --password <密码>`  
6. CLI 持续返回“用户名或密码错误”  
7. 在 GitHub Actions Ubuntu runner 中,按官方 Linux CLI 文档执行:  
   `cli open`  
   `cli user login --global true --username <中国区账号> --password <密码>`  
8. 结果同样失败,无法继续云打包  

预期结果:

中国区账号既然可以在 HBuilderX GUI 中正常登录,也应当可以通过官方 CLI 登录命令:

cli user login --global true --username <账号> --password <密码>

成功返回:
0:user login:OK

这样才能用于 CI/CD 场景下的云打包。

实际结果:

实际表现是:

  1. GUI 登录成功
  2. cli user info 只能在 GUI 已登录时读到会话
  3. 一旦改为显式 CLI 登录,始终返回“用户名或密码错误”
  4. Hosted CI 环境无法复用 GUI 登录态,因此中国区账号完全无法用于自动云打包
  5. 国际区账号虽然能 CLI 登录,但打当前应用时又被云端要求必须使用 China 账号

bug描述:

我在使用 HBuilderX CLI 做 uni-app Android 云打包时,遇到中国区账号无法通过 CLI 用户名密码登录的问题。

现象是:

  1. 同一个中国区账号可以在 HBuilderX GUI 中成功登录
  2. GUI 登录后,本机 cli.exe user info 可以读取到当前登录账号
  3. 但只要执行显式 CLI 登录命令:
    cli.exe user login --global true --username <账号> --password <密码>
    就会返回:
    用户名或密码错误
    3:user login:FAILED 当前命令执行错误
  4. GitHub Actions Hosted runner 上执行 Linux CLI 登录时,表现一致,返回:
    Incorrect email or password.
  5. 国际区账号可以通过 CLI 登录,但对当前中国区应用云打包会被服务端拒绝,报错:
    App name contains Simplified Chinese character, please login by "China" account.

这导致当前无法使用 GitHub Actions + HBuilderX CLI 为中国区应用做自动云打包。

2026-04-23 11:41 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( HBuilderX技术交流群 ) 咨询,群中有相关专业的管理员和群友。

这是一个质量很高的bug反馈。作为DCloud官方人员,我对该反馈的评审意见如下:

反馈质量评估

内容完整性:优秀

该反馈包含了bug报告所需的全部核心要素:

  • 环境信息明确:明确标注了HBuilderX 5.07版本(当前最新正式版),区分了Windows CLI和Linux CLI(GitHub Actions)两种运行环境
  • 现象对比清晰:明确区分了GUI登录成功与CLI登录失败的关键差异,以及中国区账号与国际区账号的不同表现
  • 复现路径详细:提供了从GUI登录验证到CLI登录失败的完整复现链条,包括退出GUI后的状态变化验证
  • 错误信息完整:提供了中英文错误提示("用户名或密码错误"/"Incorrect email or password.")和错误码(3:user login:FAILED)

技术准确性:待验证

从知识库检索结果看:

  • CLI文档确认 cli user login --username <用户名> --password <密码> 是标准用法,成功应返回 0:user login:OK
  • Linux CLI使用说明也确认了该命令用于打包前的登录认证
  • 知识库中未检索到关于中国区账号与国际区账号在CLI登录机制上存在差异的说明,也未找到--global true参数的相关限制说明

问题严重性:高

该bug阻断了CI/CD场景下的云打包流程:

  • 由于GitHub Actions等Hosted runner无法复用GUI登录态,CLI登录是唯一自动化途径
  • 国际区账号虽然可登录但无法用于含简体中文的应用打包(云端强制要求China账号),形成死锁

初步分析与建议

  1. 可能的原因方向

    • 中国区账号(dcloud.io域或手机号)的认证接口与CLI使用的认证端点可能存在不一致
    • --global true参数在中国区账号认证流程中可能存在处理异常
    • 中国区与国际区的用户体系在CLI层面的鉴权逻辑存在差异
  2. 需要补充的排查信息
    建议用户补充以下内容以便进一步定位:

    • 是否尝试过不使用--global true参数进行登录?
    • 中国区账号是邮箱(@dcloud.io或其他)还是手机号格式?
    • 在GUI登录状态下,执行cli user info返回的账号标识与CLI登录时使用的用户名是否完全一致(大小写、空格等)?
    • 是否尝试过在Linux CLI上使用./cli open启动GUI后再测试登录状态?
  3. 临时 workaround 建议
    在官方修复前,可尝试:

    • 检查HBuilderX安装目录下的cli.exe是否为最新版本(与GUI版本一致)
    • 尝试在Windows Runner上使用cli open保持GUI后台运行(虽然这不适用于Linux headless环境)

结论

这是一个有效的、高优先级的bug反馈。知识库确认了CLI登录命令的标准性,但用户遇到了特定账号类型(中国区)的登录失败,且该问题直接影响CI/CD自动化打包场景。建议转入技术团队深入排查中国区账号的CLI认证链路。

推荐链接:关于CLI登录的详细文档可参考 HBuilderX CLI用户操作文档Linux CLI使用指南

内容为 AI 生成,仅供参考

要回复问题请先登录注册