Corepack hardcodes pnpm binary path instead of reading package.json bin field (breaks with pnpm v11)
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 66/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- nodejs, typescript
Rechercherichtung
Beginne damit, die Auflösung von pnpm und die Auswahl der ausführbaren Datei durch Corepack nachzuverfolgen, und vergleiche anschließend den fest codierten Pfad mit dem Feld bin in pnpm's package.json. Reproduziere das Problem mit Node.js 20, Corepack 0.34.4 und pnpm v11; als erledigt gilt es, wenn pnpm v11 seinen bin/pnpm.mjs-Eintrag verwendet und vorhandene pnpm-Versionen weiterhin funktionieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
After some discussion on the pnpm issue (https://github.com/pnpm/pnpm/issues/10214), it turns out the problem is not caused by a faulty pnpm release, pnpm v11 has changed its binary entry path from bin/pnpm.cjs to bin/pnpm.mjs., so the development build 11.0.0-dev.1005 is not faulty. Corepack is expecting the old path and fails.
So the issue appears to be:
- Corepack’s version resolution prefers a dev build over the latest stable
- Corepack seems to rely on a hardcoded pnpm binary path instead of reading the correct bin path from package.json.
As a workaround I'm currently using
corepack use [email protected]orcorepack use pnpm@latest(or latest-9, latest-10 etc.)Leaving this update here so the root cause is clearer.
Originally posted by @tkesici in #772
Problem
Corepack appears to rely on a hard-coded pnpm binary path (bin/pnpm.cjs) instead of reading the bin field from pnpm’s package.json.
pnpm v11 changed its binary entry from bin/pnpm.cjs to bin/pnpm.mjs (https://github.com/pnpm/pnpm/issues/10214#issuecomment-3566728733), so when corepack installs pnpm v11, pnpm cannot start and the process fails.
Expected Behavior
Corepack should read the bin property from pnpm’s package.json to determine the correct executable path
Actual Behavior
Corepack assumes the binary always exists under bin/pnpm.cjs, which is no longer valid for pnpm v11.
Environment
Node.js: 20 (node:20-alpine)
Corepack: 0.34.4
OS: Alpine Linux
- Vorherrschende Sprache
- TypeScript
- Sterne
- 3.8k
- Forks
- 282
- Ø Merge
- 3 Std. 21 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus nodejs/corepack
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
-
[BUG] corepack not use COREPACK_NPM_REGISTRY install of tarballEvtl. vergeben @Yash121l hat das vor 26 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
`Cannot find module .../bin/pnpm.cjs` after upgrading from Corepack <=0.34.4 with pnpm 12 cachedEvtl. vergeben @abappi19 hat das vor 4 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 75/100
-
Support signature verification against a custom COREPACK_NPM_REGISTRYEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
-
Error when upgrading pnpm to latest in `devEngines.packageManager`Evtl. vergeben @thiagobarbosa hat das vor 75 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 52/100
Alle Issues in nodejs/corepack
Ähnliche Issues
-
Table: Space fires onActivate in single-selection mode — the reference doc and the JSDoc disagreeOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
sidorares/react-x11-components#764 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
backnotprop/plannotator#1840 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
JoviDeCroock/pracht#432 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add: CNN en Espanol SDOffenapproved check:passed streams:add
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
Hardware attribute name "app Connection Support" has inconsistent casingEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
walletbeat/walletbeat#1628 ·
Maintainer antworten meist innerhalb von 1 Tag