I'm trying to run an eas build for an expo go app by running eas build --platform ios
. It errors out of the build during the "Run fastlane" portion of the build.
This is the exact error:
❌ Metro encountered an error:Cannot read properties of undefined (reading 'transformFile')Learn more: https://docs.expo.dev/build-reference/troubleshooting› Compiling expo-constants Pods/EXConstants » EXConstants_vers.c› Compiling expo-constants Pods/EXConstants » EXConstantsService.m› Compiling expo-constants Pods/EXConstants » EXConstantsInstallationIdProvider.m› Compiling expo-constants Pods/EXConstants » EXConstants-dummy.m› Creating Bui› Compiling expo-dev-menu Pods/expo-dev-menu » expo-dev-menu-dummy.m› Compiling expo-dev-menu Pods/expo-dev-menu » EXDevMenu_vers.c› Compiling expo-dev-menu Pods/expo-dev-menu » EXDevMenuAppInfo.m› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuRootView.m› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuRCTDevSettings.m› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuRCTBridge.mm› Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuLoadingView.m⚠️ Script has ambiguous dependencies causing it to run on every build. To fix, go to: Xcode » Wibet/Wibet » Build Phases »'Start Packager' Either: Uncheck "Based on dependency analysis", or select output files to trigger the script⚠️ Script has ambiguous dependencies causing it to run on every build. To fix, go to: Xcode » Wibet/Wibet » Build Phases »'Bundle React Native code and images' Either: Uncheck "Based on dependency analysis", or select output files to trigger the script⚠️ Script has ambiguous dependencies causing it to run on every build. To fix, go to: Xcode » Wibet/Wibet » Build Phases »'[CP-User] [RNFB] Core Configuration' Either: Uncheck "Based on dependency analysis", or select output files to trigger the script⚠️ Script has ambiguous dependencies causing it to run on every build. To fix, go to: Xcode » Pods/abseil » Build Phases »'Create Symlinks to Header Folders' Either: Uncheck "Based on dependency analysis", or select output files to trigger the script▸ ** ARCHIVE FAILED **▸ The following build commands failed:▸ PhaseScriptExecution [CP-User]\ Generate\ app.manifest\ for\ expo-updates /Users/expo/Library/Developer/Xcode/DerivedData/Wibet-fjxowylqaoovhbfcvrpmgwrqngkm/Build/Intermediates.noindex/ArchiveIntermediates/Wibet/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/EXUpdates.build/Script-46EB2E0005E760.sh (in target 'EXUpdates' from project 'Pods')▸ (1 failure)2024-04-02 10:33:31.054 xcodebuild[45749:54455] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)** ARCHIVE FAILED **The following build commands failed: PhaseScriptExecution [CP-User]\ Generate\ app.manifest\ for\ expo-updates /Users/expo/Library/Developer/Xcode/DerivedData/Wibet-fjxowylqaoovhbfcvrpmgwrqngkm/Build/Intermediates.noindex/ArchiveIntermediates/Wibet/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/EXUpdates.build/Script-46EB2E0005E760.sh (in target 'EXUpdates' from project 'Pods')(1 failure)Exit status: 65
I believe it's erroring out because "transformFile" is undefined (although, if the problem occurs later, please let me know). This seems to be a problem that has come up for others as well in the past when doing builds for iOS, and it seems to be solved by using the LTS of Node. I have scoured StackOverflow/Github/Reddit/Youtube, but no matter which LTS node version I use (14, 16, 18, or 20), I'm still getting this error when I try to build. The most recent comments about this bug are from 1 year ago, so there could be a new solution now.
I have installed Node version 14.x, 16.x, 18.x, and 20.x using nvm and did nvm use/nvm alias default to test each version, and tried building with all of them (removing node_modules folder and doing npm install each time). All produce the same error.
My .xcode.env.local file in the ios folder of my expo go app has the correct Node version in the "export" line.
I have tried opening a connection to SSL as outlined in some stack overflows (with version 20.x). This doesn't work either.
Here is details of my system:
System: OS: macOS 14.1.1 CPU: (8) arm64 Apple M1 Memory: 328.97 MB / 16.00 GB Shell: version: "5.9" path: /bin/zshBinaries: Node: version: 18.17.1 path: ~/.nvm/versions/node/v18.17.1/bin/node Yarn: version: 1.22.21 path: /opt/homebrew/bin/yarn npm: version: 9.6.7 path: ~/.nvm/versions/node/v18.17.1/bin/npm Watchman: Not FoundManagers: CocoaPods: version: 1.15.2 path: /usr/local/bin/podSDKs: iOS SDK: Platforms: - DriverKit 23.4 - iOS 17.4 - macOS 14.4 - tvOS 17.4 - visionOS 1.1 - watchOS 10.4 Android SDK: Not FoundIDEs: Android Studio: Not Found Xcode: version: 15.3/15E204a path: /usr/bin/xcodebuildLanguages: Java: version: 20.0.1 path: /usr/bin/javac Ruby: version: 2.6.10 path: /usr/bin/rubynpmPackages:"@react-native-community/cli": installed: 13.6.4 wanted: ^13.6.4 react: installed: 18.2.0 wanted: 18.2.0 react-native: installed: 0.72.10 wanted: 0.72.10 react-native-macos: Not FoundnpmGlobalPackages:"*react-native*": Not FoundAndroid: hermesEnabled: true newArchEnabled: falseiOS: hermesEnabled: false newArchEnabled: false
If anyone has any insights and can help me with this issue, that would be very much appreciated! Thank you.