Using @sveltejs/adapter-cloudflare@^4.0.0 generates the ENOENT error for the dev and build commands on alpine linux.
This does not happen with version ^3.0.0 on alpine linux, or version ^4.0.0 on other operating systems, or with @sveltejs/adapter-auto@latest on alpine linux.
This is basically the skeleton project from running pnpm create svelte@latest, then pnpm add -D @sveltejs/adapter-cloudflare and pnpm remove -D @sveltejs/adapter-auto, then replacing the import in svelte.config.js.
I've provided a Containerfile for the alpine linux environment. You can run with docker (docker build -t bugged-example .) or podman (podman build -t bugged-example .) and it will output the error log I pasted below. If you change the first line from node:alpine to node:slim, the build will be successful.
If you keep the Containerfile as is (with node:alpine), and change the version of @sveltejs/adapter-cloudflare to ^3.0.0, or use @sveltejs/adapter-auto, the build will also be successful.
Logs
> test@0.0.1 build
> vite build
vite v5.2.6 building SSR bundle for production...
transforming...
✓ 79 modules transformed.
rendering chunks...
vite v5.2.6 building for production...
transforming...
✓ 61 modules transformed.
rendering chunks...
computing gzip size...
.svelte-kit/output/client/_app/version.json 0.03 kB │ gzip: 0.05 kB
.svelte-kit/output/client/.vite/manifest.json 2.25 kB │ gzip: 0.44 kB
.svelte-kit/output/client/_app/immutable/entry/start.CS4bZmir.js 0.07 kB │ gzip: 0.08 kB
.svelte-kit/output/client/_app/immutable/nodes/0.sbPD3avW.js 0.60 kB │ gzip: 0.38 kB
.svelte-kit/output/client/_app/immutable/nodes/2.k97gLCY_.js 0.69 kB │ gzip: 0.45 kB
.svelte-kit/output/client/_app/immutable/nodes/1.TdFCRiDp.js 1.02 kB │ gzip: 0.59 kB
.svelte-kit/output/client/_app/immutable/chunks/scheduler.BvLojk_z.js 2.16 kB │ gzip: 1.02 kB
.svelte-kit/output/client/_app/immutable/chunks/index.fi1e1Nz5.js 5.44 kB │ gzip: 2.31 kB
.svelte-kit/output/client/_app/immutable/entry/app.CAu41V3K.js 6.12 kB │ gzip: 2.47 kB
.svelte-kit/output/client/_app/immutable/chunks/entry.Cjzq2A8j.js 27.35 kB │ gzip: 10.79 kB
✓ built in 908ms
/app/node_modules/wrangler/wrangler-dist/cli.js:29573
throw a;
^
Error: spawn /app/node_modules/@cloudflare/workerd-linux-64/bin/workerd ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:286:19)
at onErrorNT (node:internal/child_process:484:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
errno: -2,
code: 'ENOENT',
syscall: 'spawn /app/node_modules/@cloudflare/workerd-linux-64/bin/workerd',
path: '/app/node_modules/@cloudflare/workerd-linux-64/bin/workerd',
spawnargs: [
'serve',
'--binary',
'--experimental',
'--socket-addr=entry=127.0.0.1:0',
'--external-addr=loopback=127.0.0.1:44133',
'--control-fd=3',
'-'
]
}
Node.js v21.7.1
Error: building at STEP "RUN npm run build": while running runtime: exit status 7
Describe the bug
Using
@sveltejs/adapter-cloudflare@^4.0.0
generates the ENOENT error for the dev and build commands on alpine linux.This does not happen with version ^3.0.0 on alpine linux, or version ^4.0.0 on other operating systems, or with
@sveltejs/adapter-auto@latest
on alpine linux.Reproduction
Repository: https://git.sr.ht/~liliace/bugged-example
This is basically the skeleton project from running
pnpm create svelte@latest
, thenpnpm add -D @sveltejs/adapter-cloudflare
andpnpm remove -D @sveltejs/adapter-auto
, then replacing the import insvelte.config.js
.I've provided a Containerfile for the alpine linux environment. You can run with docker (
docker build -t bugged-example .
) or podman (podman build -t bugged-example .
) and it will output the error log I pasted below. If you change the first line fromnode:alpine
tonode:slim
, the build will be successful.If you keep the Containerfile as is (with
node:alpine
), and change the version of@sveltejs/adapter-cloudflare
to^3.0.0
, or use@sveltejs/adapter-auto
, the build will also be successful.Logs
System Info
Severity
blocking an upgrade
Additional Information
No response