Skip to content

[macOS]: 构建与验证时明确拒绝 Rosetta 翻译环境 #23

Description

@Qiuner

问题与证据

桌面说明要求在目标架构的原生终端构建,不要使用 Rosetta。当前 apps/desktop/build-darwin.mjs 按 process.arch 选择目标,verify-darwin.sh 按 uname -m 判断验证架构;未见显式翻译环境检查。Apple Silicon 在翻译环境中可能按 x64 继续流程,使“原生架构验证”的含义不清楚。

这是源码核验发现的约束缺口,尚未在 Rosetta 环境复现,不宣称现有包已损坏。

范围

落实已有“仅原生构建”约束,在产生构建产物或启动验证进程前检查当前执行环境。不在本项新增跨架构构建或 Universal 包。

完成标准

  • 区分原生 Intel、原生 Apple Silicon 和 Apple Silicon 翻译执行,核对 Node 自身架构与目标架构。
  • Rosetta / 不匹配环境提前退出,说明怎样使用原生 Node 和终端重试;不静默更改输出架构。
  • 检查失败与真正不支持的系统条件有明确处理,不能误伤原生 Intel。
  • 构建与验证脚本使用一致的规则,补充有意义的目标判定测试。
  • Mac 人工验证至少记录原生与翻译环境的实际结果;没有 Intel 机器时明确未覆盖,不以模拟测试替代实机结论。
  • 同步中英文桌面说明与施工总索引。

参考:apps/desktop/darwin-target.mjs、darwin-target.test.mjs、build-darwin.mjs、verify-darwin.sh。

本项可为 #18 提供前置校验,但不负责搭建 CI,也不涉及 #19 的官方桌面任务闭环。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions