Works around a fragile optionalDependencies-based native binary resolution in @astrojs/compiler-rs/@astrojs/compiler-binding (Astro 7's mandatory Rust compiler) that caused Cannot find module '@astrojs/compiler-binding-linux-x64-gnu' on astro dev/astro build. Confirmed cross-platform (Linux x64 and macOS arm64).
Downgraded astro → ^6.3.0 in docs/package.json (last major with the legacy Go compiler, no native binary dependency)
Downgraded @astrojs/starlight → ^0.40.0 accordingly (0.41+ dropped Astro 6 support)
Removed @astrojs/compiler-binding as a direct dependency — no longer needed
Cleaned up now-dead pnpm-workspace.yaml entries (allowBuilds, hoistPattern, publicHoistPattern for compiler-binding) that existed solely for the Rust compiler's build requirements
Why not fix it upstream instead?
We spent significant time ruling out pnpm store corruption, hardlink mutation, lockfile resolution bugs, and libc misdetection — none explained it. The issue appears to be with @astrojs/compiler-binding itself. Reported upstream: withastro/astro#[NUMMER EINFÜGEN].
This is a temporary workaround, not a permanent fix — we'll revisit Astro 7 once the upstream issue is resolved.
Testing
✅ pnpm install + pnpm run docs works on Linux x64 (Arch)
✅ Confirmed working on macOS (M2)
## Summary
Works around a fragile optionalDependencies-based native binary resolution in @astrojs/compiler-rs/@astrojs/compiler-binding (Astro 7's mandatory Rust compiler) that caused Cannot find module '@astrojs/compiler-binding-linux-x64-gnu' on astro dev/astro build. Confirmed cross-platform (Linux x64 and macOS arm64).
refs #23
Changes
Downgraded astro → ^6.3.0 in docs/package.json (last major with the legacy Go compiler, no native binary dependency)
Downgraded @astrojs/starlight → ^0.40.0 accordingly (0.41+ dropped Astro 6 support)
Removed @astrojs/compiler-binding as a direct dependency — no longer needed
Cleaned up now-dead pnpm-workspace.yaml entries (allowBuilds, hoistPattern, publicHoistPattern for compiler-binding) that existed solely for the Rust compiler's build requirements
Why not fix it upstream instead?
We spent significant time ruling out pnpm store corruption, hardlink mutation, lockfile resolution bugs, and libc misdetection — none explained it. The issue appears to be with @astrojs/compiler-binding itself. Reported upstream: withastro/astro#[NUMMER EINFÜGEN].
This is a temporary workaround, not a permanent fix — we'll revisit Astro 7 once the upstream issue is resolved.
Testing
✅ pnpm install + pnpm run docs works on Linux x64 (Arch)
✅ Confirmed working on macOS (M2)
- Downgraded astro to ^6.4.8 and starlight to ^0.40.0 in docs/
- Removed platform-specific astro compiler bindings from root package.json
- Updated pnpm-lock.yaml
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Works around a fragile optionalDependencies-based native binary resolution in @astrojs/compiler-rs/@astrojs/compiler-binding (Astro 7's mandatory Rust compiler) that caused Cannot find module '@astrojs/compiler-binding-linux-x64-gnu' on astro dev/astro build. Confirmed cross-platform (Linux x64 and macOS arm64).
refs #23
Changes
Why not fix it upstream instead?
We spent significant time ruling out pnpm store corruption, hardlink mutation, lockfile resolution bugs, and libc misdetection — none explained it. The issue appears to be with @astrojs/compiler-binding itself. Reported upstream: withastro/astro#[NUMMER EINFÜGEN].
This is a temporary workaround, not a permanent fix — we'll revisit Astro 7 once the upstream issue is resolved.
Testing