Environment
- Nuxt version:
4.4.8
- Nitro version:
2.13.4
- Vue version:
3.5.35
- Preset:
node-server
- Runtime:
Node v24.14.x
- Package manager:
bun
- OS:
macOS (also in CI envrionment ubuntu/alpine)
Reproduction
We do not yet have a minimal public reproduction.
In our real app, the failure is reproducible with:
bun run build
node .output/server/index.mjs
Then request an SSR route.
The build reports success, but the runtime SSR request fails with the errors above.
Describe the bug
After upgrading framework dependencies, bun run build completes successfully, but running the built server with:
node .output/server/index.mjs
can fail on SSR requests because the traced vue package inside .output/server/node_modules is incomplete or unusable.
In our case, API routes still worked, but SSR page requests failed at runtime.
Observed runtime errors
We saw two related failure modes from the built output:
Cannot find module '/.../.output/server/node_modules/vue/index.mjs'
imported from /.../.output/server/chunks/routes/renderer.mjs
and after restoring the missing wrapper files manually:
The requested module 'vue' does not provide an export named 'getCurrentInstance'
What appears to be wrong
The built output contains a traced Vue package here:
.output/server/node_modules/vue -> .nitro/[email protected]
but that traced package does not match what the generated server renderer expects.
In our broken output, the traced Vue directory only had a very partial payload, e.g.:
.output/server/node_modules/.nitro/[email protected]/package.json
.output/server/node_modules/.nitro/[email protected]/dist/vue.cjs.prod.js
.output/server/node_modules/.nitro/[email protected]/server-renderer/index.mjs
Missing or unusable pieces included the normal entrypoints / runtime files needed for SSR, such as:
index.js
index.mjs
dist/vue.runtime.esm-bundler.js
At the same time, the generated server code still imports Vue in a way that expects a valid package entry from the traced output.
Why this looks like a Nuxt/Nitro output packaging issue
The installed Vue package in node_modules/nuxt/node_modules/vue was fine.
The failure only existed in the built server output under:
.output/server/node_modules/.nitro/[email protected]
So this does not look like a Vue runtime bug by itself. It looks like the node-server output/tracing step is packaging an incomplete or incompatible copy of Vue.
This seems similar in shape to:
Nuxt 4.4.7 node-server output packages incomplete [email protected]
That issue was about unhead being incompletely packaged in node-server output. This looks like the same class of regression, but affecting vue.
Additional context
The main signal from our investigation is:
- source node_modules/.../vue is OK
- traced .output/server/node_modules/.nitro/[email protected] is not
- SSR fails from the built output, while API endpoints can still work
Environment
4.4.82.13.43.5.35node-serverNode v24.14.xbunmacOS(also in CI envrionment ubuntu/alpine)Reproduction
We do not yet have a minimal public reproduction.
In our real app, the failure is reproducible with:
Then request an SSR route.
The build reports success, but the runtime SSR request fails with the errors above.
Describe the bug
After upgrading framework dependencies,
bun run buildcompletes successfully, but running the built server with:can fail on SSR requests because the traced vue package inside .output/server/node_modules is incomplete or unusable.
In our case, API routes still worked, but SSR page requests failed at runtime.
Observed runtime errors
We saw two related failure modes from the built output:
and after restoring the missing wrapper files manually:
What appears to be wrong
The built output contains a traced Vue package here:
but that traced package does not match what the generated server renderer expects.
In our broken output, the traced Vue directory only had a very partial payload, e.g.:
Missing or unusable pieces included the normal entrypoints / runtime files needed for SSR, such as:
At the same time, the generated server code still imports Vue in a way that expects a valid package entry from the traced output.
Why this looks like a Nuxt/Nitro output packaging issue
The installed Vue package in node_modules/nuxt/node_modules/vue was fine.
The failure only existed in the built server output under:
So this does not look like a Vue runtime bug by itself. It looks like the node-server output/tracing step is packaging an incomplete or incompatible copy of Vue.
This seems similar in shape to:
Nuxt 4.4.7 node-server output packages incomplete [email protected]
That issue was about unhead being incompletely packaged in node-server output. This looks like the same class of regression, but affecting vue.
Additional context
The main signal from our investigation is: