eas build --profile development --platform ios ERROR on EAS servers - can't find node binary

Expo CLI 5.0.3 environment info:
System:
OS: macOS 12.1
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 14.17.0 - ~/.nvm/versions/node/v14.17.0/bin/node
Yarn: 1.22.17 - ~/.nvm/versions/node/v14.17.0/bin/yarn
npm: 6.14.13 - ~/.nvm/versions/node/v14.17.0/bin/npm
Watchman: 2021.12.27.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.2 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
IDEs:
Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
npmPackages:
expo: ^43.0.0 => 43.0.4
react: 17.0.1 => 17.0.1
react-native: 0.64.3 => 0.64.3
npmGlobalPackages:
eas-cli: 0.42.4
expo-cli: 5.0.3
Expo Workflow: bare

Xcode Logs:

++ echo 'error: Can'\''t find the "/.nvm/versions/node/v14.17.0/bin/node" binary to build the React Native bundle. ' 'If you have a non-standard Node.js installation, select your project in Xcode, find ' ''\''Build Phases'\'' - '\''Bundle React Native code and images'\'' and change NODE_BINARY to an ' 'absolute path to your node executable. You can find it by invoking '\''which node'\'' in the terminal.'

Has anyone else experienced the eas server environment not being able to locate the Node binary? It builds find when I run expo build --local -p ios locally, so it has not issue locating the NODE_BINARY path on my local machine, however the eas server can’t seem to locate it when it tries to build.

it seems like maybe you have configured your build scripts to point to a specific node path that doesn’t exist on eas build or any machine other than your own. initialize a new bare project with expo init and look at the bundle react native code & images build phase and compare with your own

2 Likes

Thank you so much for the guidance! Your solution was exactly what I needed. I was an Expo refugee until the new SDK released, and I wrapped my app in the Expo shell again for all the new benefits. In the time before I reintegrated Expo, I had to used a very specific build script & it was definitely different from what the default is with a new expo project. After I converted to the default build script the app built successfully on the eas servers. Thanks Again!!!

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.