Today I started integrating EAS Build for our (recently ejected) expo project. I was able to fire off a build, which failed at the “Run fastlane” step. That itself didn’t give me much to work with:
The following build commands failed:
PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/expo/Library/Developer/Xcode/DerivedData/modobioclientapp-dqlllvvfgjjmhmbsxkankuwglfor/Build/Intermediates.noindex/ArchiveIntermediates/modobioclientapp/IntermediateBuildFilesPath/modobioclientapp.build/Release-iphoneos/modobioclientapp.build/Script-00DD1BFF1BD5951E006B06BC.sh
[02:31:07]: Exit status: 65
After checking out the Xcode logs, I found this:
/Users/expo/Library/Developer/Xcode/DerivedData/modobioclientapp-dqlllvvfgjjmhmbsxkankuwglfor/Build/Intermediates.noindex/ArchiveIntermediates/modobioclientapp/IntermediateBuildFilesPath/modobioclientapp.build/Release-iphoneos/modobioclientapp.build/Script-00DD1BFF1BD5951E006B06BC.sh: line 4: ..: command not found
/Users/expo/Library/Developer/Xcode/DerivedData/modobioclientapp-dqlllvvfgjjmhmbsxkankuwglfor/Build/Intermediates.noindex/ArchiveIntermediates/modobioclientapp/IntermediateBuildFilesPath/modobioclientapp.build/Release-iphoneos/modobioclientapp.build/Script-00DD1BFF1BD5951E006B06BC.sh: line 5: ode_modulesexpo-updatesscriptscreate-manifest-ios.sh: command not found
That’s better! Here I can see that there’s
\ characters missing in the script path, which then fails to run. The path seemed familiar, and I eventually remembered there was a change in git, which appeared after running
eas build:configure, and which definitely seems related.
So now I’m stuck, because when I leave the change in, the build fails… When I tried reverting it (without touching the other autogenerated stuff), I got this:
expo-updates module is not configured. Please run "eas build:configure" first to configure the project
Anyone has an idea what’s going on here? Any help with this would be greatly appreciated.
i have pushed firstname.lastname@example.org that should resolve this issue. please let me know if the issue persists
Hi Brent! Thanks for the reply… Unfortunately, the fix didn’t work for me. (I tried
0.9.1). Still got the same build error as before, because after running
build:configure, the project.pbxproj file contained the same edit again.
Today, I got a colleague to run both the configuration and build script on a mac, which was then successful. (yay!) However, after checking out his branch and running
eas build myself, I got this error:
expo-updates module is not configured. Please run "eas build:configure" first to configure t
Error: Path to expo-updates/scripts/create-manifest-ios.sh is missing in a "Bundle
React Native code and images" build phase.
And yes, you were right, I am using Windows.
can you share the diff of your project when you run build:configure on your windows machine after it has been configured on a mac?
Sure. It’s the same diff as before.
Can you make sure you are using the correct version with
eas --version ? Sometimes user have 2 installations of cli and the older one is earlier in PATH.
Can you launch node interpreter and run
require('path').sep ? Make sure to launch it in the same environment as eas-cli (whether you normally use it under WSL or not)
My eas-cli version is 0.9.1, I made sure of that before, just forgot to mention it. I had the previous version installed through
yarn global add, and then replaced it with this one. There’s no other mention of eas-cli anywhere else (package.json etc)
There’s no other mention of eas-cli anywhere else (package.json etc)
It could be installed e.g via npm (npm and yarn have different install dirs)
My eas-cli version is 0.9.1, I made sure of that before, just forgot to mention it.
Just to make sure, di you checked that via
eas --version command or you are just assuming based on
yarn global add output?
Based on looking through code that is responsible for that I don’t see how it could happen, even if there is some bug in that code it should not make the same changes, it’s handled here expo-cli/Updates.ts at master · expo/expo-cli · GitHub and it’s just simple if that replaces separators
The only explanation I could see is a problem with node dependency and somehow the version of
@expo/config-plugins that is resolved in global node_modules is not the one specified in package.json. You might try checking manually what version of packages you have there(I’m not sure where those modules are installed on windows)
Yes, I ran
eas --version. This is the output:
eas-cli/0.9.1 win32-x64 node-v14.16.0
I only installed eas-cli through yarn; I checked
npm list --global just to be sure and it’s not there.
As for the package versions, I’m not exactly sure what to look for, but I can tell you that in my yarn’s global node_modules, there’s
eas-cli v0.9.1, which requires
@expo/config-plugins v1.0.24, and the installed version of this package in the same node_modules folder is 1.0.24, according to its package.json.