Skip to content

Fix pnpm install failures on Node 22.12+ via prebuild-install 7.1.3 override (fixes #1360) - #1361

Merged
captbaritone merged 1 commit into
masterfrom
webamp-1360-prebuild-install-7.1.3
Oct 10, 2026
Merged

captbaritone merged 1 commit into
masterfrom
webamp-1360-prebuild-install-7.1.3

Conversation

@captbaritone

Copy link
Copy Markdown
Owner

Summary

pnpm install fails on Node 22.12+ because prebuild-install@7.1.2 (pulled in by sqlite3 and sharp's install scripts) computes its prebuilt-binary download URL with a string comparison against process.versions.napi. On any Node with a two-digit N-API version (22.12+ reports N-API 10), the comparison misfires ('6' <= '10' is false), the URL is bogus, the download 404s, and the install script falls back to compiling from source with node-gyp — which fails on machines without a C++ toolchain. That's the exact error trace in the reporter's screenshots.

This adds a root overrides entry pinning prebuild-install to 7.1.3, whose only change is the napi-build-utils 1→2 bump (numeric comparison), fixing both the sqlite3 and sharp postinstalls at once.

Changes

  • package.json: "overrides": { "graphql": "16.8.1", "prebuild-install": "7.1.3" }

Pending before merge

  • pnpm-lock.yaml is not yet updated in this PR. The regenerated lockfile is verified locally (44 insertions / 15 deletions, scoped to the prebuild-install subtree; pnpm install --frozen-lockfile passes; full pnpm install on Node 24 completes sqlite3's postinstall via prebuilt binary with no node-gyp fallback), but it is ~1MB and could not be pushed through the API from the sandbox used to prepare this PR. It must land before merge: without it, pnpm considers the lockfile "up to date" and the override never takes effect.

Verification (local)

  • Reproduced the reporter's exact failure with 7.1.2: prebuild-install -r napi warns This package does not support N-API version undefined, requests a bogus napi-v137 URL, 404s.
  • With the override (7.1.3): prebuilt installs cleanly; sqlite3 smoke test (in-memory DB roundtrip) passes.
  • Note: this can't retroactively fix the published 2.3.2 — it ships in the next release. Not pnpm-specific: npm install fails identically.

@netlify

netlify Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for tourmaline-kringle-c98715 canceled.

Name Link
🔨 Latest commit 1cf430a
🔍 Latest deploy log https://app.netlify.com/projects/tourmaline-kringle-c98715/deploys/6aca801da11c5500083912d4

@github-actions

Copy link
Copy Markdown

Size Change: 0 B

Total Size: 490 kB

ℹ️ View Unchanged
Filename Size
packages/webamp/built/webamp.bundle.min.js 298 kB
packages/webamp/built/webamp.lazy-bundle.min.js 192 kB

compressed-size-action

@captbaritone
captbaritone marked this pull request as ready for review October 10, 2026 18:21
@captbaritone
captbaritone merged commit 999f567 into master Oct 10, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant