-
Notifications
You must be signed in to change notification settings - Fork 84
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
EAS fails to install pnpm dependencies for Android #1941
Comments
Hi, You can go to We can make the You can currently install a different version of Could you give it a try and let me know if it fixed the issue for you? |
For my iOS builds (which succeed) it's
I did just that and it fixed it for me, thank you for the suggestion. |
@szdziedzic Thanks for the pre-install suggestion, works for me 👍 An even better way to specify version it with the packageManager property in package.json (although I know it’s still experimental). It’s nice to just have to update these things in one place. |
If it helps anyone, I ran into an issue where it was trying to install pnpm when running a local build, which was failing since I already have it installed via a different method. My solution was to set
|
I also ran into this issue. An alternative solution is to use Corepack // package.json
{
// ...
"packageManager": "[email protected]",
"scripts": {
"eas-build-pre-install": "corepack enable",
// ...
} Would be nice if this was supported out-of-the-box without having to manually call |
is there any reason why eas is running
? i suspect this maybe causing issue in our android build i tried to use eas to submit an android build and the build crashes but i tried to run the same build locally - just changed build number - and the build works |
Build/Submit details page URL
https://expo.dev/accounts/kingstinct/projects/lifeline-dev/builds/e398532d-5f57-467d-a456-4318844eb3ab (node 20)
https://expo.dev/accounts/kingstinct/projects/lifeline-dev/builds/28ec161c-a6b3-4415-93f3-1608e7f8daba (node 18)
Summary
I'm using pnpm in a monorepo setup. What I've tried and what works:
I'm fairly sure just being able to specify pnpm version would solve it, for example in eas.json or respecting
packageManager
in package.json. I know you don't officially support it yet - but just having this option would take it a long way.Since it works on iOS I'm guessing the EAS build image is using a different pnpm version on iOS (closer to what I'm using locally - i.e. 8.6.9).
Also - it would help to be able to see which version of pnpm is used in the logs on EAS, I can't seem to see it currently.
Managed or bare?
managed
Environment
expo-env-info 1.0.5 environment info:
System:
OS: macOS 13.4.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.3.1 - ~/.nvm/versions/node/v20.3.1/bin/node
Yarn: 1.22.19 - /opt/homebrew/bin/yarn
npm: 9.6.7 - ~/.nvm/versions/node/v20.3.1/bin/npm
Watchman: 2023.02.13.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /Users/robertherber/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
Android SDK:
API Levels: 28, 29, 31, 33, 33
Build Tools: 28.0.3, 29.0.2, 30.0.3, 31.0.0, 33.0.0, 33.0.1
System Images: android-30 | Google APIs Intel x86 Atom, android-31 | Google APIs ARM 64 v8a, android-33 | Google APIs ARM 64 v8a, android-33 | Google APIs Intel x86 Atom_64
IDEs:
Android Studio: 2022.1 AI-221.6008.13.2211.9619390
Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
npmPackages:
expo: ^49.0.3 => 49.0.3
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: ~0.72.3 => 0.72.3
react-native-web: ~0.19.6 => 0.19.6
npmGlobalPackages:
eas-cli: 3.16.0
Expo Workflow: managed
Error output
There are a few suspect things in the build output for node 20 (the lockfile-incompatibility as well as the ERR_INVALID_THIS):
Install dependencies output (Node 20)
When using node 18 the packages are installed but fails later, probably because of the lockfile-incompatibilty which I guess is a result of using a different pnpm version:
Install dependencies output (Node 18)
Reproducible demo or steps to reproduce from a blank project
pnpm import
).npmrc
withshamefully-hoist=true
config.resolver.unstable_enableSymlinks = true
to metro.config.jspnpm install
The text was updated successfully, but these errors were encountered: