Skip to content

Nuxt 4 fails to run in deno, default config #964

@carsonbird

Description

@carsonbird

Environment

  • Operating System: Linux
  • Node Version: v22.14.0
  • Nuxt Version: 4.0.0
  • CLI Version: 3.26.2
  • Nitro Version: 2.12.0
  • Package Manager: deno@deno 2.4.1 (stable, release, x86_64-unknown-linux-gnu) v8 13.7.152.6-rusty typescript 5.8.3
  • Builder: -
  • User Config: compatibilityDate, devtools, modules
  • Runtime Modules: @nuxt/image@1.10.0, @nuxt/ui@3.2.0
  • Build Modules: -

Reproduction

Init a new nuxt project, select deno.

❯ npx nuxi@latest init bit2
Need to install the following packages:
nuxi@3.26.2
Ok to proceed? (y) 


        .d$b.
       i$$A$$L  .d$b
     .$$F` `$$L.$$A$$.
    j$$'    `4$$:` `$$.
   j$$'     .4$:    `$$.
  j$$`     .$$:      `4$L
 :$$:____.d$$:  _____.:$$:
 `4$$$$$$$$P` .i$$$$$$$$P`

ℹ Welcome to Nuxt!                                                                                                                                                                                                       
ℹ Creating a new project in bit2.                                                                                                                                                                                        

✔ Which package manager would you like to use?
deno
◐ Installing dependencies...                                                                                                                                                                                              
Warning The following packages are deprecated:
┠─ npm:@types/parse-path@7.1.0 (This is a stub types definition. parse-path provides its own type definitions, so you do not need this installed.)
┖─ npm:node-domexception@1.0.0 (Use your platform's native DOMException instead)
Warning The following packages contained npm lifecycle scripts (preinstall/install/postinstall) that were not executed:
┠─ npm:@parcel/watcher@2.5.1
┃
┠─ This may cause the packages to not work correctly.
┖─ To run lifecycle scripts, use the `--allow-scripts` flag with `deno install`:
   deno install --allow-scripts=npm:@parcel/watcher@2.5.1
✔ Installation completed.                                                                                                                                                                                                

✔ Initialize git repository?
Yes
ℹ Initializing git repository...                                                                                                                                                                                         

...

✔ Would you like to install any of the official modules?
Yes

✔ Pick the modules to install:
@nuxt/fonts – Add custom web fonts with performance in mind, @nuxt/icon – Icon module for Nuxt with 200,000+ ready to use icons from Iconify, @nuxt/image – Add images with progressive processing, lazy-loading, resizing and providers
support, @nuxt/ui – The Intuitive UI Library powered by Reka UI and Tailwind CSS
ℹ The following modules are already included as dependencies of another module and will not be installed: @nuxt/fonts, @nuxt/icon                                                                                       
ℹ Resolved @nuxt/image, @nuxt/ui, adding modules...                                                                                                                                                                      
ℹ Installing @nuxt/image@1.10.0, @nuxt/ui@3.2.0 as dependencies                                                                                                                                                          
Add npm:@nuxt/image@1.10.0
Add npm:@nuxt/ui@3.2.0
Warning The following packages contained npm lifecycle scripts (preinstall/install/postinstall) that were not executed:
┠─ npm:@parcel/watcher@2.5.1
┠─ npm:sharp@0.32.6
┠─ npm:@tailwindcss/oxide@4.1.11
┠─ npm:vue-demi@0.14.10
┃
┠─ This may cause the packages to not work correctly.
┖─ To run lifecycle scripts, use the `--allow-scripts` flag with `deno install`:
   deno install --allow-scripts=npm:@parcel/watcher@2.5.1,npm:sharp@0.32.6,npm:@tailwindcss/oxide@4.1.11,npm:vue-demi@0.14.10
ℹ Adding @nuxt/image to the modules                                                                                                                                                                                      
ℹ Adding @nuxt/ui to the modules                                                                                                                                                                                         
ℹ Nuxt Icon server bundle mode is set to local                                                                                                                                                                              ...
✔ Types generated in bit2/.nuxt                                                                                                                                                                                         
                                                                                                                                                                                                                          
✨ Nuxt project has been created with the v4 template. Next steps:
 › cd bit2                                                                                                                                                                                                                
 › Start development server with deno task dev                                                                                                                                                                            

Start the server:

❯ deno task dev
Task dev nuxt dev
Nuxt 4.0.0 with Nitro 2.12.0

  ➜ Local:    http://localhost:3000/
  ➜ Network:  use --host to expose

  ➜ DevTools: press Shift + Alt + D in the browser (v2.6.2)

ℹ Nuxt Icon server bundle mode is set to local

 WARN  Runtime config option nitro.routeRules./_fonts/**.cache may not be able to be serialized.


 WARN  Runtime config option public may not be able to be serialized.


 WARN  Runtime config option icon may not be able to be serialized.

✔ Vite client built in 45ms
✔ Vite server built in 50ms
✔ Nuxt Nitro server built in 820ms
ℹ Vite client warmed up in 64ms
ℹ Vite server warmed up in 107ms

Finally, open the webpage, which loads forever, and we get this in the server console:

 ERROR  [unhandledRejection] connect ENOENT /tmp/nuxt-dev-1752644038810-idphrd.sock

    at __node_internal_captureLargerStackTrace (ext:deno_node/internal/errors.ts:91:3)
    at __node_internal_exceptionWithHostPort (ext:deno_node/internal/errors.ts:215:10)
    at PipeConnectWrap._afterConnect [as oncomplete] (node:net:177:16)
    at Pipe.afterConnect (ext:deno_node/internal_binding/connection_wrap.ts:43:11)
    at ext:deno_node/internal_binding/pipe_wrap.ts:130:14
    at eventLoopTick (ext:core/01_core.js:178:7)

error: Uncaught TypeError: Unknown signal: 0
    at toDenoSignal (ext:deno_node/internal/child_process.ts:390:11)
    at ChildProcess.kill (ext:deno_node/internal/child_process.ts:299:53)
    at kill (file:///home/{}/code/bit2/node_modules/.deno/@nuxt+cli@3.26.2/node_modules/@nuxt/cli/dist/chunks/dev.mjs:243:17)
    at Process.<anonymous> (file:///home/{}/code/bit2/node_modules/.deno/@nuxt+cli@3.26.2/node_modules/@nuxt/cli/dist/chunks/dev.mjs:320:7)
    at Object.onceWrapper (ext:deno_node/_events.mjs:561:12)
    at Process.emit (ext:deno_node/_events.mjs:448:22)
    at Process.emit (node:process:342:40)
    at Process.exit (node:process:61:13)
    at Process.<anonymous> (file:///home/{}/code/bit2/node_modules/.deno/@nuxt+cli@3.26.2/node_modules/@nuxt/cli/dist/chunks/index.mjs:376:15)
    at Object.onceWrapper (ext:deno_node/_events.mjs:561:12)

Describe the bug

After upgrading Nuxt to v4 (though I've been using v3 in v4 compatibility mode for a while), deno dies when attempting to load the first page. I created a new repo to test this by itself. I install Nuxt using nuxi, and select Deno. I do include Nuxt UI (and Nuxt Font and Image as well).

Additional context

No response

Logs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions