Home › Build error fixes › iOS / Xcode
A build script phase failed (often the JS bundle step)
iOS / Xcode · last reviewed 2026-11-10
The error looks like this
Command PhaseScriptExecution failed with a nonzero exit code
Why it happens
Xcode cannot find node, or the Metro bundle step crashed. The real error is a few lines ABOVE this one.
How to fix it
- Scroll up in the log for the first "error:" line.
- Create ios/.xcode.env.local with: export NODE_BINARY=$(command -v node)
- Test the bundle manually: npx react-native bundle --platform ios --dev false --entry-file index.js --bundle-output /tmp/main.jsbundle
Not sure this is your error? Let ReleaseMedic read the whole log
Build logs are long and the last line is rarely the real cause. ReleaseMedic finds the first real error, explains it and gives the steps — free, and the log never leaves your computer.
$ npx releasemedic log build.logOr pipe a build straight in: cd android && ./gradlew bundleRelease 2>&1 | npx releasemedic log -
Catch it before you build
Most release errors come from project settings you can check in seconds — signing, SDK levels, privacy manifests, permissions, push and login setup.
$ npx releasemedic