expo / expo/eas-cli

Enabling corepack with pnpm leads to EAS trying to install pnpm again with an error

Open
#3,148 3 comments 8 reactions 0 assignees View on GitHub
needs review
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Build/Submit details page URL

https://expo.dev/accounts/zweitag/projects/farmpartner-app/builds/650ce1da-3f39-49ad-815d-24855b9e9209

### Summary

I'm specifying these options in `eas.json`:

```
"corepack": true,
"node": "24.3.0",
```

The project is using pnpm. Now I'd expect EAS to install the specified node version, enable corepack and use the pnpm version defined in package.json via corepack. But instead EAS tries to install pnpm manually (without using corepack). This fails, since the pnpm binary already exists after enabling corepack.

I think, enabling corepack should disable the installation of the package manager, since corepack will handle it.

### Managed or bare?

Managed

### Environment

expo-env-info 1.3.4 environment info:
System:
OS: macOS 15.6
Shell: 5.9 - /bin/zsh
Binaries:
Node: 24.3.0 - ~/.asdf/installs/nodejs/24.3.0/bin/node
npm: 11.4.2 - ~/.asdf/plugins/nodejs/shims/npm
Watchman: 2025.06.23.00 - /opt/homebrew/bin/watchman
SDKs:
iOS SDK:
Platforms: DriverKit 24.1, iOS 18.1, macOS 15.1, tvOS 18.1, visionOS 2.1, watchOS 11.1
IDEs:
Android Studio: 2024.3 AI-243.25659.59.2432.13423653
Xcode: 16.1/16B40 - /usr/bin/xcodebuild
npmPackages:
expo: ^52.0.46 => 53.0.20
expo-updates: ~0.27.4 => 0.28.17
react: 18.3.1 => 19.0.0
react-native: ^0.76.9 => 0.79.5
npmGlobalPackages:
eas-cli: 16.17.4
Expo Workflow: managed

### Error output

```
Installing node v24.3.0
Downloading and installing node v24.3.0...
Downloading http://10.94.183.70:8081/v24.3.0/node-v24.3.0-darwin-arm64.tar.xz...
########################
34.3%
#######################################################
77.0%
########################################################################
100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v24.3.0 (npm v11.4.2)
default -> 24.3.0 (-> v24.3.0 *)
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated npmlog@4.1.2: This package is no longer supported.
npm warn deprecated are-we-there-yet@1.1.7: This package is no longer supported.
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated gauge@2.7.4: This package is no longer supported.
added 144 packages in 13s
12 packages are looking for funding
run `npm fund` for details
Enabling corepack
Installing pnpm@9.15.9
npm error code EEXIST
npm error path /Users/expo/.nvm/versions/node/v24.3.0/bin/pnpm
npm error EEXIST: file already exists
npm error File exists: /Users/expo/.nvm/versions/node/v24.3.0/bin/pnpm
npm error Remove the existing file and try again, or run npm
npm error with --force to overwrite files recklessly.
npm error A complete log of this run can be found in: /Users/expo/.npm/_logs/2025-08-19T08_22_45_853Z-debug-0.log
Failed to install pnpm 9.15.9

npm -g install pnpm@9.15.9 exited with non-zero code: 1

Error: Failed to install pnpm. Make sure you specified the correct version in eas.json.
```

### Reproducible demo or steps to reproduce from a blank project

see above use a project with pnpm, and set the options:

```
"corepack": true,
"node": "24.3.0",
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.