You can use eas-cli to submit your app even if it was built using expo-cli.

I'm new to Expo so I would also like to know, is EAS Cli supposed to get rid of Expo Cli?

eas-cli will replace functionality related to building/submitting/publishing and anything else that is related to services expo provides, but it will not contain functionality related to local development e.g. expo start/run:ios/run:android/prebuild

Is the goal to get to the latest SDK? The app was at 40, am I supposed to get it to 45? What does this do?

There is nothing blocking you on the expo side to upload sth build using an older SDK, but most likely it will not be accepted in AppStore because of the lack of iOS 15 support(and likely other reasons). You can check https://blog.expo.dev/ , there is a blog post that goes through the major changes in each SDK.

Answer from Wojciech Kozyra on Stack Overflow
🌐
Expo Documentation
docs.expo.dev › build-reference › local-builds
Run EAS Build locally with local flag - Expo Documentation
On Windows, you can use WSL for local EAS Builds. However, we do not officially test against this platform and do not support Windows for local builds (macOS and Linux are supported).
🌐
Expo Documentation
docs.expo.dev › more › expo-cli
Expo CLI - Expo Documentation
Generate the native Android and iOS directories for your project: npx expo prebuild. Build and run the native apps locally: npx expo run:ios and npx expo run:android.
🌐
GitHub
github.com › expo › expo › issues › 22747
"expo upgrade is not supported in the local CLI" is confusing · Issue #22747 · expo/expo
May 1, 2023 - Summary Currently, npx expo upgrade gives the following message. $ expo upgrade is not supported in the local CLI, please use expo-cli upgrade instead But then the global expo-cli says its deprecated, and to use npx expo instead. This co...
Published   Jun 03, 2023
🌐
GitHub
github.com › expo › eas-cli › issues › 2449
EAS local iOS build with production profile fails · Issue #2449 · expo/eas-cli
July 5, 2024 - ✔ Check Expo config for common issues ✔ Check package.json for common issues ✔ Check native tooling versions ✔ Check dependencies for packages that should not be installed directly ✔ Check for common project setup issues ✔ Check npm/ yarn versions ✔ Check for issues with metro config ✔ Check Expo config (app.json/ app.config.js) schema ✔ Check that native modules do not use incompatible support packages ✔ Check for legacy global CLI installed locally ✔ Check that native modules use compatible support package versions for installed Expo SDK ✔ Check that packages match versions required by installed Expo SDK
Published   Jul 05, 2024
🌐
Expo Documentation
docs.expo.dev › guides › local-app-development
Local app development - Expo Documentation
You can pass in --variant release (Android) or --configuration Release (iOS) to build a production build of your app. Note that these builds are not signed and you cannot submit them to app stores.
🌐
Reddit
reddit.com › r/expo › eas build local issues
r/expo on Reddit: EAS Build Local issues
January 10, 2023 -

I recently got a new machine (Apple Silicon) and am setting it up for development with Expo.

Everything has been working really well except local EAS builds (specifically for iOS). I'm able to build development clients and create release builds.

However, I keep getting the same unhelpful error with attempts to build locally with EAS. Non-local builds also work fine.

I created a fresh Expo project and got a similar error:

[RUN_FASTLANE] $ set -o pipefail && xcodebuild -workspace ./ExpoBuildTest.xcworkspace -scheme ExpoBuildTest -configuration Release -destination 'generic/platform=iOS' -archivePath /Users/thame/Library/Developer/Xcode/Archives/2023-04-11/ExpoBuildTest\ 2023-04-11\ 18.06.05.xcarchive archive | tee /var/folders/27/z_r2f6zx1ks7f9fpgh66fx6h0000gn/T/eas-build-local-nodejs/5a725f8c-643a-4950-978b-3683a4fa746d/logs/ExpoBuildTest-ExpoBuildTest.log > /dev/null
[RUN_FASTLANE]     Run script build phase 'Start Packager' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'ExpoBuildTest' from project 'ExpoBuildTest')
[RUN_FASTLANE]     Run script build phase 'Bundle React Native code and images' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'ExpoBuildTest' from project 'ExpoBuildTest')
[RUN_FASTLANE]     Run script build phase '[CP-User] Generate app.config for prebuilt Constants.manifest' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXConstants' from project 'Pods')
[RUN_FASTLANE] ▸ ** ARCHIVE FAILED **
[RUN_FASTLANE] ** ARCHIVE FAILED **
[RUN_FASTLANE] Exit status: 65

My environment: Xcode 14.2 Node v16.20.0 Ruby v3.0.6p216 Fastlane v2.212.1 Cocoapods v1.12.0

Tried to mimic the exact environment as my old machine which continues to build without issue.

🌐
Expo Documentation
docs.expo.dev › build-reference › ios-builds
iOS build process - Expo Documentation
This step will use the versioned Expo CLI. Restore a previously saved cache identified by the cache.key value in the build profile. Run pod install in the ios directory inside your project. Run the eas-build-post-install script from package.json if defined. Update the Xcode project with the ID of the Provisioning Profile. Create Gymfile in the ios directory if it does not ...
Find elsewhere
🌐
GitHub
github.com › expo › eas-cli › issues › 1753
[Expo Publish Error] expo publish is not supported in the local CLI, please use eas update instead · Issue #1753 · expo/eas-cli
February 16, 2023 - $ SENTRY_PROJECT=************ expo publish --target bare --release-channel production-7.0.52 $ expo publish is not supported in the local CLI, please use eas update instead
Published   Mar 21, 2023
🌐
Expo Documentation
docs.expo.dev › develop › development-builds › create-a-build
Create a development build on EAS - Expo Documentation
... To build locally without EAS requires your local development environment to be set up with native build tools. This is the only way to test your iOS build on an iPhone device without a paid Apple Developer Account (only possible on macOS).
🌐
Expo Documentation
docs.expo.dev › build-reference › troubleshooting
Troubleshoot build errors and crashes - Expo Documentation
You can verify that your project builds on your local machine with the npx expo run:android and npx expo run:ios commands, with variant/configuration flags set to release to most faithfully reproduce what executes on EAS Build.
🌐
Expo Documentation
docs.expo.dev › workflow › prebuild
Continuous Native Generation (CNG) - Expo Documentation
For a project that has android and ios directories, EAS Build will not run Prebuild to avoid overwriting any changes you've made to the native directories. If you troubleshoot your app by compiling it locally (running npx expo prebuild, or npx expo run:android or npx expo run:ios), you can still use Prebuild with EAS Build to generate fresh native directories during the build process.
🌐
Expo
forums.expo.dev › t › error-expo-publish-is-not-supported-in-the-local-cli-please-use-eas-update-instead › 67793
Join the Expo Developers Discord Server!
Expo brings together the best of the web and mobile for making apps that run on Android, iOS, and web. | 66664 members
🌐
Expo
forums.expo.dev › expo application services (eas)
EAS Build IOS - local device is not working - Forums
Expo brings together the best of the web and mobile for making apps that run on Android, iOS, and web. | 66664 members
🌐
GitHub
github.com › expo › eas-cli › issues › 1726
Local builds not working on windows · Issue #1726 · expo/eas-cli
February 27, 2023 - Expo local builds are not working on windows. Whenever I run eas build --profile preview --platform android --local. I get the following message: Error: Unsupported platform, macOS or Linux is required to build apps for Android. If eas-cli does not support building Android apps on windows that would be very frustrating because I would like to build on my machine not on your cloud service.
Published   Feb 27, 2023
🌐
Expo Documentation
docs.expo.dev › faq
FAQ - Expo Documentation
No, the expo npm package and CLI work with any React Native app. Expo Application Services (EAS) also works with all React Native apps with first-class support for builds, updates, app store submissions, and more.
🌐
Expo Documentation
docs.expo.dev › bare › using-expo-cli
Migrate from React Native CLI to Expo CLI - Expo Documentation
It does not yet have built-in support for the most popular out-of-tree platforms, such as Windows and macOS. If building for these platforms, you can utilize Expo CLI for the supported platforms and @react-native-community/cli for the others.
🌐
Expo Documentation
docs.expo.dev › build-reference › app-versions
App version management - Expo Documentation
Optionally, you can choose to use a local app version source, which means you control versions manually in their respective config files. The remote version source is the recommended behavior from EAS CLI version 12.0.0. EAS servers can store and manage your app's developer-facing build version (android.versionCode and ios.buildNumber) remotely.