归档React Native项目失败:PhaseScriptExecution报错,Node版本不匹配
问题描述
之前项目归档正常,为其他项目全局安装yarn后,iOS归档开始失败,报错信息如下:
Node found at: /opt/homebrew/Cellar/node/18.9.0/bin/node
$PROJECT_DIRECTORY/ios/Pods/../../node_modules/react-native/React/FBReactNativeSpec/../../scripts/react_native_pods_utils/script_phases.sh: line 83: /opt/homebrew/Cellar/node/18.9.0/bin/node: No such file or directory
Command PhaseScriptExecution failed with a nonzero exit code
当前终端执行node --version返回v19.0.1,已尝试以下重新链接node的命令,但问题依旧:
sudo rm -f /usr/local/bin/node sudo ln -s $(which node) /usr/local/bin/node
解决方案
清理Pods缓存并重装依赖
- 进入项目iOS目录:
cd ios - 删除Pod锁定文件和Pods文件夹:
rm -rf Podfile.lock Pods - 重新安装Pods:
pod install - 返回项目根目录,清理Xcode缓存:
xcodebuild clean
- 进入项目iOS目录:
修正Xcode脚本中的Node路径
- 打开Xcode,选中项目Target → 进入
Build Phases标签页 - 找到
[CP-User] Generate Specs脚本阶段 - 检查脚本内是否硬编码了旧Node路径(/opt/homebrew/Cellar/node/18.9.0/bin/node),如果有,替换为当前Node路径(终端执行
which node可获取)
- 打开Xcode,选中项目Target → 进入
用nvm统一管理Node版本(推荐)
- 安装nvm后,在项目根目录创建
.nvmrc文件,写入v19.0.1 - 执行
nvm use切换到指定版本 - 重新执行
pod install后再尝试归档
- 安装nvm后,在项目根目录创建
内容的提问来源于stack exchange,提问作者Tara
相关产品推荐
相关产品推荐

