mirror of
https://github.com/ether/etherpad-lite.git
synced 2026-07-17 16:47:05 +00:00
pnpm's default \`auto\` package-import-method eventually falls through to \`copyfile\`, which uses \`copy_file_range\`. That syscall fails on ZFS with \`EAGAIN: resource temporarily unavailable\` (see https://github.com/pnpm/pnpm/issues/7024), so \`docker compose build\` aborts inside the \`RUN pnpm install\` step on any host with a ZFS root. Operators had to hand-patch every pnpm invocation in the Dockerfile and install scripts. Force \`package-import-method=hardlink\` in \`.npmrc\` so all pnpm invocations (Docker build, \`bin/installDeps.sh\`, \`bin/installLocalPlugins.sh\`, \`bin/updatePlugins.sh\`) pick up the setting automatically. Hardlinks are fast, save disk, and work on every filesystem Etherpad supports. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7 lines
401 B
Text
7 lines
401 B
Text
strict-dep-builds=false
|
|
# Use hardlinks when populating node_modules instead of clone/copyfile.
|
|
# pnpm's default "auto" mode ends up using copy_file_range which fails on
|
|
# ZFS (https://github.com/pnpm/pnpm/issues/7024) and breaks `docker
|
|
# compose build` on hosts with a ZFS root (#7342). Hardlinks are fast,
|
|
# save disk, and work on every filesystem Etherpad supports.
|
|
package-import-method=hardlink
|