You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode为macOS arm64构建时如何以x86_64架构执行构建脚本

可行解决方案如下:

  • 首先修正你之前的命令写法错误:你原写法中的$(node ...)会先在当前arm64架构的shell下执行node命令,再把执行输出作为参数传给x86_64的zsh,完全不符合预期。正确的嵌套写法如下,将整条待执行命令放在-c的字符串参数内,让x86_64架构的子shell执行node命令:
arch -x86_64 /bin/zsh -c 'node "$HOME/.vscode/extensions/adobe.extendscript-debug-1.1.2/public-scripts/exportToJSX.js" -f -n "$PROJECT_DIR/indesignagent/Javascript"'

用单引号包裹内层命令可避免环境变量在父shell提前展开,$PROJECT_DIR等Xcode内置变量可正常传递到子shell中。

  • 更简化的方案:不需要嵌套shell,直接给node进程指定x86_64架构执行即可,适配性更强:
arch -x86_64 node "$HOME/.vscode/extensions/adobe.extendscript-debug-1.1.2/public-scripts/exportToJSX.js" -f -n "$PROJECT_DIR/indesignagent/Javascript"
  • 全局修改脚本阶段架构的方案:直接修改Xcode脚本阶段顶部的「Shell」输入框,将默认的/bin/sh改为arch -x86_64 /bin/sh,这样该脚本阶段内的所有命令都会默认以x86_64架构执行,无需为每条命令单独加前缀。

你可以在脚本中添加一行arch命令,执行构建后查看构建日志输出,若输出为x86_64即说明架构切换生效。

内容的提问来源于stack exchange,提问作者Pat_Morita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:15:01