next.js
1eab3361 - fix: Use a pnpm preinstall script to fix catch-22 in next binary creation (#91016)

Commit
72 days ago
fix: Use a pnpm preinstall script to fix catch-22 in next binary creation (#91016) We've had a longstanding issue where you'd have to run `pnpm i` _twice_ on a fresh checkout because `pnpm` wouldn't set up binary symlinks until after the binary exists, but the binary wouldn't exist until after `pnpm build` was done: https://github.com/vercel/next.js/blob/canary/.github/workflows/build_reusable.yml#L303-L311 This solves that problem using a pnpm preinstall script that creates stub binaries for these files if they don't exist yet (because we haven't run `pnpm build`). ## Test Plan ``` git clean -fxd pnpm i pnpm build pnpm test-start test/e2e/app-dir/next-image/ pnpm test-start-turbo test/e2e/app-dir/next-image/ ``` I tested this both locally and inside of a fresh ubuntu VM. Running `pnpm next` after `pnpm i` but before `pnpm build` gives a helpful error message: <img width="946" height="125" alt="Screenshot 2026-03-06 at 9 37 14 PM" src="https://github.com/user-attachments/assets/4517e8bd-60ca-44f2-a34c-f7f3ec56c634" />
Author
bgw bgw
Parents
Loading