EAS Build (managed) Error on iOS - Invalid `Podfile` file: cannot load such file

I run into an error on EAS build (iOS) of my app. Could you give me any hints or other information I should provide to find out what’s causing this?

...
[!] Invalid `Podfile` file: cannot load such file -- /usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/node_modules/react-native-unimodules/cocoapods.rb.
Sat, 02 Jan 2021 21:54:43 GMT
Sat, 02 Jan 2021 21:54:43 GMT
 #  from /usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Podfile:2
Sat, 02 Jan 2021 21:54:43 GMT
 #  -------------------------------------------
Sat, 02 Jan 2021 21:54:43 GMT
 #  require_relative '../node_modules/react-native/scripts/react_native_pods'
Sat, 02 Jan 2021 21:54:43 GMT
 >  require_relative '../node_modules/react-native-unimodules/cocoapods.rb'
Sat, 02 Jan 2021 21:54:43 GMT
 #  require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
Sat, 02 Jan 2021 21:54:43 GMT
 #  -------------------------------------------
Sat, 02 Jan 2021 21:54:43 GMT
[stderr] ⚠️  Something went wrong running `pod install` in the `ios` directory. Continuing with project sync, you can debug this afterwards.
Sat, 02 Jan 2021 21:54:43 GMT
[13:54:43] -     WARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
Sat, 02 Jan 2021 21:54:43 GMT
    Consider adding the following to ~/.profile:
Sat, 02 Jan 2021 21:54:43 GMT
Sat, 02 Jan 2021 21:54:43 GMT
    export LANG=en_US.UTF-8
Sat, 02 Jan 2021 21:54:43 GMT
    
Sat, 02 Jan 2021 21:54:43 GMT
Sat, 02 Jan 2021 21:54:43 GMT
[stderr] - Checking if any additional setup steps are required for installed SDK packages.
Sat, 02 Jan 2021 21:54:43 GMT
[stderr] ⚠️  Your app includes 1 package that requires additional setup in order to run:
Sat, 02 Jan 2021 21:54:43 GMT
- expo-notifications: https://github.com/expo/expo/tree/master/packages/expo-notifications
...

Other Information

  • Classic build runs fine.
  • I use yarn workspaces.

expo diagnostics

Expo CLI 4.0.17 environment info:
  System:
    OS: Linux 5.4 Ubuntu 20.04.1 LTS (Focal Fossa)
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 12.18.3 - ~/.nodebrew/current/bin/node
    Yarn: 1.22.4 - ~/.yarn/bin/yarn
    npm: 6.14.10 - ~/.nodebrew/current/bin/npm
  npmPackages:
    expo: ^40.0.0 => 40.0.0
    react-native: https://github.com/expo/react-native/archive/sdk-40.0.0.tar.gz => 0.63.2
  npmGlobalPackages:
    expo-cli: 4.0.17
  Expo Workflow: managed

As far as I know, EAS does not yet support the managed workflow.

hi there! any chance you could share the project with me on github? my username is brentvatne

eas build support for managed is still quite early and i’m curious to understand what is going wrong in this particular case.

did you follow the yarn workspaces instructions? Integrating with JavaScript tooling - Expo Documentation

Hi,

Yes, I followed the instruction about Monorepo.

I cannot share the repository because it is a private one. But I’ll try to create another public project with the same configuration and reproduce it.

1 Like

@brents I found that the expo-yarn-workspace library version in my project is old (1.2.1). After upgrading it to 1.3.0, the error doesn’t occur.

Another error seems to happen on the other part, but it is another problem. I’ll check it.

Thanks!

i don’t think the version upgrade was related, but i’m glad it seemed to resolve that particular issue. can you elaborate on what the new problem is? can you also share the root package.json in your yarn workspace?

I noticed that I had also added “react-native-unimodules” into app dependencies directly because the build errored without it. I don’t know that it is related, though.

The new error message is 'EXUpdates/EXUpdatesAppController.h' file not found.
Build ID: 9c01644c-8c21-4610-b60d-98a5db3c742e

I’ll share a part of the build error logs.

Worker Log

[17:20:14]: $ set -o pipefail && xcodebuild -workspace ./Simpluna.xcworkspace -scheme Simpluna -destination 'generic/platform=iOS' -archivePath /Users/expo/Library/Developer/Xcode/Archives/2021-01-06/App\ 2021-01-06\ 17.20.14.xcarchive clean archive | tee /Users/expo/Library/Logs/gym/simpluna-Simpluna.log > /dev/null
[17:23:44]: ▸ ** ARCHIVE FAILED **
[17:23:44]: ▸ The following build commands failed:
[17:23:44]: ▸ 	CompileC /Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/Objects-normal/arm64/main.o /usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Simpluna/main.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
[17:23:44]: ▸ (1 failure)
** ARCHIVE FAILED **
The following build commands failed:
	CompileC /Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/Objects-normal/arm64/main.o /usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Simpluna/main.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
[17:23:44]: Exit status: 65
+-------------+-------------------------+
|           Build environment           |
+-------------+-------------------------+
| xcode_path  | /Applications/Xcode.app |
| gym_version | 2.170.0                 |
| sdk         | iPhoneOS14.1.sdk        |
+-------------+-------------------------+
[17:23:44]: 
[17:23:44]: Looks like fastlane ran into a build/archive error with your project
[17:23:44]: It's hard to tell what's causing the error, so we wrote some guides on how
[17:23:44]: to troubleshoot build and signing issues: https://docs.fastlane.tools/codesigning/getting-started/
[17:23:44]: Before submitting an issue on GitHub, please follow the guide above and make
[17:23:44]: sure your project is set up correctly.
[17:23:44]: fastlane uses `xcodebuild` commands to generate your binary, you can see the
[17:23:44]: the full commands printed out in yellow in the above log.
[17:23:44]: Make sure to inspect the output above, as usually you'll find more error information there
[17:23:44]:
[stderr] [!] Error building the application - see the log above
Destroying keychain - /var/folders/97/73j93h690g9gdn54bh_zskm40000gn/T/turtle-v2-a4b1e355-42dc-4eb3-a3e9-a02ed9e6c0ca.keychain
Removing provisioning profile
Build failed: fastlane exited with non-zero code: 1

XCode Logs

CompileC /Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/Objects-normal/armv7/AppDelegate.o /usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Simpluna/AppDelegate.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'Simpluna' from project 'Simpluna')
    cd /usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios
    export LANG\=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target armv7-apple-ios10.0 -fmessage-length\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -std\=gnu99 -fobjc-arc -fmodules -gmodules -fmodules-cache-path\=/Users/expo/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -fmodules-prune-interval\=86400 -fmodules-prune-after\=345600 -fbuild-session-file\=/Users/expo/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\=return-type -Wunreachable-code -Wno-implicit-atomic-properties -Werror\=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror\=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -DCOCOAPODS\=1 -DNS_BLOCK_ASSERTIONS\=1 -DOBJC_OLD_DISPATCH_PROTOTYPES\=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.1.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -fvisibility\=hidden -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -fembed-bitcode -iquote /Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/simpluna-generated-files.hmap -I/Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/simpluna-own-target-headers.hmap -I/Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/simpluna-all-non-framework-target-headers.hmap -ivfsoverlay /Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/all-product-headers.yaml -iquote /Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/simpluna-project-headers.hmap -I/Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/BuildProductsPath/Release-iphoneos/include -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/DoubleConversion -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/FBLazyVector -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/FBReactNativeSpec -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/RCTRequired -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/RCTTypeSafety -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/RNCAsyncStorage -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/RNCMaskedView -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/RNCPicker -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/RNGestureHandler -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/RNReanimated -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/RNScreens -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/React-Core -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/React-RCTText -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/React-callinvoker -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/React-cxxreact -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/React-jsi -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/React-jsiexecutor -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/React-jsinspector -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/ReactCommon -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/Yoga -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/glog -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/react-native-safe-area-context -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/react-native-viewpager -I/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Private/React-Core -I/Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/DerivedSources-normal/armv7 -I/Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/DerivedSources/armv7 -I/Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/DerivedSources -F/Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/BuildProductsPath/Release-iphoneos -fmodule-map-file\=/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/React/React-Core.modulemap -fmodule-map-file\=/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Pods/Headers/Public/yoga/Yoga.modulemap -MMD -MT dependencies -MF /Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/Objects-normal/armv7/AppDelegate.d --serialize-diagnostics /Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/Objects-normal/armv7/AppDelegate.dia -c /usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Simpluna/AppDelegate.m -o /Users/expo/Library/Developer/Xcode/DerivedData/Simpluna-ditnjicqppkmzxexpnspnjzihtra/Build/Intermediates.noindex/ArchiveIntermediates/Simpluna/IntermediateBuildFilesPath/Simpluna.build/Release-iphoneos/Simpluna.build/Objects-normal/armv7/AppDelegate.o
In file included from /usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Simpluna/AppDelegate.m:1:
/usr/local/turtle-v2/src/services/worker/workingdir/build/packages/mobile/ios/Simpluna/AppDelegate.h:2:9: fatal error: 'EXUpdates/EXUpdatesAppController.h' file not found
#import <EXUpdates/EXUpdatesAppController.h>
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


I also share the root package.json.

  "version": "0.0.0",
  "private": true,
  "workspaces": {
    "packages": [
      "packages/*"
    ]
  },
  "scripts": {
    "clean": "lerna clean",
    "build": "lerna run build",
    "typecheck": "lerna run typecheck",
    "lint": "lerna run lint",
    "test": "lerna run test"
  },
  "dependencies": {},
  "devDependencies": {
    "@react-native-community/eslint-config": "~2.0.0",
    "@typescript-eslint/eslint-plugin": "~3.7.1",
    "@typescript-eslint/parser": "~3.7.1",
    "eslint": "~7.5.0",
    "eslint-config-prettier": "^6.11.0",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-prettier": "~3.1.4",
    "eslint-plugin-react": "~7.20.5",
    "eslint-plugin-react-hooks": "~4.0.8",
    "firebase-tools": "~8.6.0",
    "lerna": "^3.22.1",
    "prettier": "^2.0.5",
    "ts-mocha": "^7.0.0",
    "ts-node": "^8.10.2",
    "typescript": "~3.9.7"
  }
}

I hope these help. Please let me know if there is any other information you need.

i think you should get comfortable with getting a bare app working outside of a monorepo before putting it in a monorepo. yarn workspaces adds some additional complexity that you need to understand in order to use it, and it might be hard if you don’t know how to work with a bare app and also yarn workspaces

edit: sorry i had lost the original context of this issue being about eas build! we actually don’t have good support for managed apps in monorepos in eas build currently. we’re working on it right now. we’ll let people know on our blog and/or twitter when it’s ready

OK, I understand.

I knew managed workflow support on EAS Build is early but I registered this topic because this information might be useful to the Expo Team. It is not a critical problem for me for now.

Thanks,

1 Like

thanks for sharing it!

Hey this is very informative id like to tell you that we are training business analyst and would love to have you join us

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