mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
Fixes e.g. https://github.com/vercel/next.js/actions/runs/30314671467/job/90137708228#step:12:603 The `native-builder` image (`scripts/native-builder.Dockerfile`), used by the `build-native` job of `build_and_deploy.yml` to cross-compile `next-swc`, installed Node.js 20 via the NodeSource setup script. That script downloads and imports a signing key before configuring the apt repository. When the key download returns an HTTP 403 from CI runners the script still exits successfully, so `apt-get install nodejs` falls back to Ubuntu's stock `nodejs` package, which does **not** bundle `npm`. The failure only surfaced two layers later when the image ran `npm i -g @napi-rs/cli` (`npm: not found`, exit 127), breaking the native build. This change installs Node.js 20 from the official `nodejs.org` static tarball instead. The tarball bundles `npm` and `corepack`, is glibc-linked (matching the previous intent), and does not depend on NodeSource's apt repository or key server, removing the flaky external dependency. The install step also asserts `npm --version`, so a future regression fails at the install layer rather than several layers later. ## test plan - [x] [full build_and_deploy on this branch](https://github.com/vercel/next.js/actions/runs/30372888336)