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

React Native iOS构建报错:Command PhaseScriptExecution失败,路径不存在

解决NX Monorepo下React Native iOS构建的「Command PhaseScriptExecution failed」错误

问题核心

报错根源是iOS构建脚本无法定位到monorepo根目录下的react-native/scripts/xcode/with-environment.sh——默认路径是相对iOS项目目录的,和NX的monorepo结构不匹配,直接添加../../可能路径计算错误。

解决方案

1. 修正脚本的相对路径

打开Xcode,进入项目的Build Phases标签,找到「Bundle React Native code and images」脚本,修改其中的路径为正确的相对路径:

  • 先确认目录结构:假设monorepo根目录下,iOS项目位于apps/[你的应用名]/ios/,那么正确路径应为../../../node_modules/react-native/scripts/xcode/with-environment.sh
  • 替换脚本中原有的../node_modules/...部分,确保路径能精准指向根目录的node_modules

2. 调整NX项目配置

检查项目根目录下对应RN应用的project.json,确认targets中的ios构建配置是否指定了正确的node_modules路径。可在options中添加nodeModulesPath参数,直接指向根目录的node_modules文件夹。

3. 清理缓存并重新安装依赖

  • 关闭Xcode,删除Derived Data:通过Xcode > File > Project Settings找到Derived Data路径,删除整个文件夹
  • 在monorepo根目录执行依赖清理与安装:
    nx run <你的应用名>:clean
    npm install # 或 yarn install
    
  • 进入iOS目录重新安装Pods:
    cd apps/[你的应用名]/ios
    pod install
    

4. 设置NODE_PATH环境变量

在Xcode的Build Settings标签下,搜索「Environment Variables」,添加NODE_PATH变量:

  • 值设为../../../node_modules(根据你的实际目录结构调整相对路径),让脚本能正确定位到根目录的依赖包

5. 修复脚本权限

如果脚本缺少可执行权限,也会触发类似报错。在monorepo根目录执行:

chmod +x node_modules/react-native/scripts/xcode/with-environment.sh

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 16:33:20