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

React Native iOS构建失败:script_phases.sh缺失Node.js二进制文件

React Native iOS构建失败:script_phases.sh找不到Node.js二进制文件

具体错误

/Users/admin2/Desktop/Projects/ios/Pods/../../node_modules/react-native/React/FBReactNativeSpec/../../scripts/react_native_pods_utils/script_phases.sh: line 83: /Users/.nvm/versions/node/v16.20.2/bin/node: No such file or directory

环境配置

  • React Native版本:0.69.3
  • Node.js版本:22.7.0
  • Xcode版本:16.2

已尝试操作

  • 在Xcode构建脚本中设置export NODE_BINARY=$(which node)更新Node.js路径
  • 重装依赖:
    rm -rf node_modules
    yarn install
    cd ios
    pod install
    
  • 确保~/.zshrc配置加载正确的Node.js二进制路径

解决方案

1. 让Xcode加载用户shell环境变量

Xcode默认不会加载.zshrc这类用户配置文件,导致无法识别nvm管理的Node路径。打开Xcode项目的Build Phases,找到Bundle React Native code and images脚本,在开头添加:

source ~/.zshrc
export NODE_BINARY=$(which node)

如果使用bash,替换为source ~/.bash_profile或source ~/.bashrc。

2. 直接指定Node绝对路径

终端执行which node得到当前Node的实际路径(比如/Users/admin2/.nvm/versions/node/v22.7.0/bin/node),然后在Xcode构建脚本中硬编码设置:

export NODE_BINARY=/Users/admin2/.nvm/versions/node/v22.7.0/bin/node

3. 修改script_phases.sh中的硬编码路径

错误提示里的路径是旧Node版本(v16.20.2)的硬编码值,直接修改脚本文件:
找到node_modules/react-native/scripts/react_native_pods_utils/script_phases.sh第83行,把旧路径替换成$(which node)动态获取,或者直接替换为当前Node的绝对路径。

4. 确保nvm配置正确加载

检查~/.zshrc中的nvm配置是否完整:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

重启终端后执行nvm use 22.7.0确认版本,再重新运行cd ios && pod install。

5. 改用系统全局Node(备选)

如果nvm路径问题无法解决,直接安装系统级Node:

brew install node@22
brew link node@22 --force

然后在Xcode脚本中设置NODE_BINARY=/usr/local/bin/node(根据实际安装路径调整)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 22:52:08