mirror of
https://github.com/zadam/trilium.git
synced 2026-09-14 02:56:04 +05:00
Moving off bullseye got the apt layers through on both legacy platforms, and the builder stage then failed one layer later: ! Corepack is about to download .../pnpm-12.3.4.tgz Error: Cannot find module '/root/.cache/node/corepack/v1/pnpm/12.3.4/bin/pnpm.cjs' This is not a stale corepack. pnpm 12 dropped its JavaScript implementation and now ships as native executables, pulled in through optional dependencies: linux-x64 linux-arm64 linux-x64-musl linux-arm64-musl win32-x64 win32-arm64 darwin-x64 darwin-arm64 There is no 32-bit ARM target, so no corepack can help linux/arm/v7: there is nothing for it to run. The 11.26.0 tarball is 5.1 MB and carries a 13.9 MB dist/pnpm.mjs; the 12.3.4 tarball is 980 kB, its largest file is its own changelog, and what remains under dist/ is node-gyp and tar support beside an install.js that fetches the binary. engines.node is >=18.*, so Node 22 was never the constraint here. linux/arm/v8 normalizes to arm64, where @pnpm/exe.linux-arm64 exists and matches bookworm's glibc, so that leg could run pnpm 12 given a newer corepack. One packageManager field serves both legs, and 11.26.0 wants Node >=22.13 against the image's 22.21.0, so pinning covers both. The pin stays contained because Dockerfile.legacy copies only ./docker/package.json: the root monorepo keeps pnpm 12, whose CI only ever runs on x64 and arm64. renovate.json already ignores apps/server/Dockerfile.legacy but not this manifest, which is how pnpm 12 arrived on Sept 6. Adding the path to ignorePaths would also freeze better-sqlite3 there, so the guard is a rule scoped to pnpm alone. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
6 lines
104 B
JSON
6 lines
104 B
JSON
{
|
|
"packageManager": "pnpm@11.26.0",
|
|
"dependencies": {
|
|
"better-sqlite3": "13.0.3"
|
|
}
|
|
} |