我使用 macOS Sequoia 15.1.0 和 Xcode 16.1 来运行 React Native iOS 应用程序。但是,当我尝试构建应用程序时,遇到以下错误:
命令 PhaseScriptExecution 失败,退出代码非零。
这个问题不仅出现在我现有的项目中,而且还出现在新创建的 React Native 项目中。
我尝试过的: 在过去的两周里,我尝试了 Stack Overflow 和 GitHub 讨论中的各种解决方案,但都没有解决问题。以下是我已经尝试过的步骤:
重新安装 Xcode 并确保其更新至版本 16.1。 将 CocoaPods 更新到最新版本(pod --version 输出 1.16.2)。 使用 xcodebuild clean 清除派生数据并删除 DerivedData 文件夹。 使用 ios 目录中的 pod install 再次安装依赖项。 尝试直接通过 Xcode 而不是 CLI 运行应用程序。 已验证 Homebrew 已更新(brew --version 输出 4.4.5)。 尝试使用新创建的项目运行react-native run-ios。 尽管做出了这些努力,问题仍然存在,我无法继续我的开发。
环境详情: macOS 版本:红杉 15.1.0 Xcode 版本:16.1 CocoaPods 版本:1.16.2 自制版本:4.4.5 React Native 版本:(此处指定版本,例如 0.72.x)
您遇到的问题可能与 Xcode 配置中的 NODE_BINARY 路径有关。我以前也遇到过这个问题,解决方法如下:
NODE_BINARY
路径
在终端中运行以下命令以查找 Node.js 二进制文件的正确路径:which node
.xcode.env.local
.xcode.env.local
文件可能隐藏在 Xcode 中。要显示隐藏文件,请在 Finder 中按 Command + Shift + . (dot)
。找到该文件并打开它。如果
NODE_BINARY
中的.xcode.env.local
路径与终端中的路径不匹配,请将其更新为您刚刚复制的正确路径。
更新
NODE_BINARY
路径后,清理构建文件夹以确保没有残留错误:
在 Xcode 中,转到“产品”>“清理构建文件夹”(
Shift + Command + K
)。