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

Mac端React Native iOS本地构建报/bin/sh文件不存在错误

Mac端React Native CLI iOS构建报错 /bin/sh: 目标路径不存在 修复方案

问题基本信息

  • 报错信息:/bin/sh: /Users/{userName}/Desktop/{name}/Test No such file or directory
  • 触发场景:本地运行React Native CLI搭建的iOS项目时触发
  • 环境信息:
    • React Native版本:0.68.0
    • React版本:17.x.x
    • Mac系统版本:11.67
    • Xcode版本:13.1
  • 已尝试无效操作:删除Pods文件夹重装依赖、切换Podfile中Flipper的开启/关闭状态

根因说明

该报错本质是Xcode执行构建阶段的shell脚本时,路径解析断裂,无法定位到目标执行文件,和Flipper依赖、Pods安装完整性无直接关联,此前尝试的操作未命中根因所以无法解决问题。

修复步骤

按优先级依次操作,每步完成后可尝试重新构建,命中问题点即可直接恢复:

  • 检查并修正项目全路径
    该报错最常见诱因是项目所在路径包含空格、中文或特殊字符:shell默认将空格作为参数分隔符,如果你的项目文件夹、上层父文件夹名称带空格(比如文件夹名为RN Test),脚本会把空格后的内容识别为独立路径,直接触发找不到文件的错误。
    把项目从上层目录到项目文件夹本身的所有名称修改为纯英文、无空格、无特殊符号的格式,比如原路径/Desktop/测试项目/RN Demo/Test修改为/Desktop/RNProject/RNDemo/Test。修改完成后在Xcode中按Command + Shift + K清理构建缓存,重新运行项目即可。
  • 修正Xcode构建脚本的路径引用格式
    如果路径本身无异常,打开ios目录下的.xcworkspace文件,选中项目主Target,进入Build Phases标签页,依次检查所有带Shell执行逻辑的阶段(重点检查Bundle React Native code and images、[CP] Copy Pods Resources两个板块):所有引用路径变量的位置,都要用双引号把路径包裹起来,例如原写法$SRCROOT/../node_modules/react-native/scripts/react-native-xcode.sh需要修改为"$SRCROOT/../node_modules/react-native/scripts/react-native-xcode.sh",避免不可见特殊字符导致路径解析失败。
  • 全量清理缓存后重装依赖
    如果以上两步操作后仍报错,在项目根目录执行以下命令清理所有缓存,重新关联依赖:
    # 清理RN侧缓存
    watchman watch-del-all
    rm -rf node_modules
    yarn install
    
    # 清理iOS侧构建缓存与pod依赖
    cd ios
    rm -rf Pods Podfile.lock build
    pod deintegrate
    pod install --repo-update
    cd ..
    
    # 清理Xcode全局衍生缓存
    rm -rf ~/Library/Developer/Xcode/DerivedData/*
    
    命令执行完成后重启Xcode,重新打开.xcworkspace文件构建即可。

避坑提示

React Native iOS构建对路径格式敏感度很高,日常开发中不要在项目存放路径里使用中文、空格、特殊转义字符,能规避80%的无厘头构建报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:57:11