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

React Native 0.73.1构建失败:Command PhaseScriptExecution返回非零退出码

问题分析与解决方案

这个问题确实和Node版本的环境加载有关——nvm设置的默认版本仅在终端Shell环境中生效,但Xcode的构建脚本运行在独立的系统环境里,不会自动读取nvm的配置文件,导致构建时实际调用的Node版本不符合RN 0.73.1的要求,进而引发hermes-engine的构建报错。

修复步骤

1. 确认正确的Node路径

  • 打开终端,先验证当前Shell使用的Node版本:
    node -v
    
    确保输出为v18.18.2
  • 获取该Node版本的绝对路径:
    which node
    
    会得到类似/Users/你的用户名/.nvm/versions/node/v18.18.2/bin/node的输出,复制这个路径。

2. 给Xcode构建脚本指定Node路径

  • 打开Xcode并加载你的RN项目的iOS工程
  • 点击项目根节点,切换到Build Phases标签
  • 找到Bundle React Native code and images这个构建阶段,展开其脚本内容
  • 在脚本的最开头添加一行,指定Node二进制文件路径:
    export NODE_BINARY="/Users/你的用户名/.nvm/versions/node/v18.18.2/bin/node"
    
    (把路径替换成你刚才复制的实际路径)
  • 保存修改后,重新执行构建

3. 补充排查/修复操作

  • 验证hermes-engine版本匹配:检查项目package.json中hermes-engine的版本,RN 0.73.1对应的兼容版本为0.12.0左右,若版本不一致,执行yarn install或npm install重新安装依赖
  • 清理全量缓存:
    npx react-native clean
    
    再手动删除Xcode的Derived Data(路径:Xcode -> 设置 -> 位置 -> Derived Data,点击箭头打开文件夹后删除对应项目的缓存文件夹)
  • 检查Xcode命令行工具版本:打开Xcode -> 设置 -> 位置 -> Command Line Tools,确保选择的版本与当前Xcode版本一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:40:05