Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Local build should not require expo account/token #1606

Closed
stefan-schweiger opened this issue Jan 4, 2023 · 5 comments
Closed

Local build should not require expo account/token #1606

stefan-schweiger opened this issue Jan 4, 2023 · 5 comments
Labels
eas build enhancement New feature or request needs review Issue is ready to be reviewed by a maintainer

Comments

@stefan-schweiger
Copy link

Build/Submit details page URL

No response

Summary

When you do a completely local build with --local and a credentials.json and you are not logged in to an expo account you get the following message:

An Expo user account is required to proceed.
› Error: Either log in with eas login or set the EXPO_TOKEN environment variable if you're using EAS CLI on CI (Learn more)

I don't see any reason why this is a requirement for eas to work since you are not accessing cloud resources.

Managed or bare?

managed

Environment

expo-env-info 1.0.5 environment info:
System:
OS: macOS 13.1
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 16.15.0 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 8.15.1 - /usr/local/bin/npm
Watchman: 2022.12.26.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.1, iOS 16.1, macOS 13.0, tvOS 16.1, watchOS 9.1
IDEs:
Android Studio: 2021.2 AI-212.5712.43.2112.8609683
Xcode: 14.1/14B47b - /usr/bin/xcodebuild
npmPackages:
expo: ~47.0.9 => 47.0.10
react: 18.1.0 => 18.1.0
react-dom: 18.1.0 => 18.1.0
react-native: 0.70.5 => 0.70.5
react-native-web: ~0.18.7 => 0.18.10
npmGlobalPackages:
eas-cli: 3.1.1
expo-cli: 6.0.8
Expo Workflow: managed

Error output

No response

Reproducible demo or steps to reproduce from a blank project

Create blank project, init eas, run eas build --local --platform=ios

@stefan-schweiger stefan-schweiger added the needs review Issue is ready to be reviewed by a maintainer label Jan 4, 2023
@dsokal dsokal added enhancement New feature or request eas build labels Jan 4, 2023
@wkozyra95
Copy link
Contributor

Handling anonymous users would require significant work to support and the requirement to login does not seem to be big enough to justify that. We might decide to implement that in the future, but it's not a priority right now.

Also even if that was possible, if you are not using credentials management, version management, secrets, updates, store submissions (or anything else that has a cloud component) then you could just as well run prebuild and build it from android studio/xcode or with fastlane

@wkozyra95 wkozyra95 closed this as not planned Won't fix, can't repro, duplicate, stale Jan 12, 2023
@stefan-schweiger
Copy link
Author

What about offline use cases? Like CI builds without outgoing connections?

@wkozyra95
Copy link
Contributor

What about offline use cases? Like CI builds without outgoing connections?

If you are behind proxy then eas-cli respects env https_proxy with proxy configuration, If there is no outgoing connection it wouldn't work either way, because it needs to install dependencies.

Or you can run npx expo prebuild on CI, and at that point, you have exact same capabilities of building offline as with a regular react-native app.

@pSnehanshu
Copy link

Can you tell more about the http_proxy env? @wkozyra95

@Youngermaster
Copy link

@stefan-schweiger A workaround that I used to build the project in Android without EAS was this one:

# To generate all the Android and IOS files
npx expo prebuild

# Make sure to connect your device or to run your Emulator to test out everything is perfect
npx react-native run-android --mode="release"

# If you want to sign the APK and publish to Google Play Store.
npx react-native build-android --mode=release

Remember to follow up the React Native Documentation to sign the APK and publish to Google Play Store.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
eas build enhancement New feature or request needs review Issue is ready to be reviewed by a maintainer
Projects
None yet
Development

No branches or pull requests

5 participants