結論からいうと、Nuxt3.0.0-rc.10で動きました。
環境
$ sw_vers
ProductName: macOS
ProductVersion: 12.6
BuildVersion: 21G115
$ docker --version
Docker version 20.10.17, build 100c701
m1 macです(m2でも試しました)
試したこと
だいたいはドキュメント通りに試しました
$ docker pull node:16.16.0-slim
$ docker run --rm -p 4000:4000 -it node:16.16.0-slim /bin/bash
$ npx nuxi init nuxt-app
$ cd nuxt-app
$ yarn install
$ yarn dev -- --port 4000
するとこんなエラーが
[nuxt] [request error] [unhandled] [500] request to http://[::]:4000/__nuxt_vite_node__/manifest failed, reason: connect EADDRNOTAVAIL :::4000 - Local (:::0) ()
at async $fetchRaw2 (./node_modules/ohmyfetch/dist/shared/ohmyfetch.c2a48baf.mjs:132:20)
at async ./.nuxt/dev/index.mjs:457:20
at async ./.nuxt/dev/index.mjs:526:64
at async ./.nuxt/dev/index.mjs:106:22
at async ./node_modules/h3/dist/index.mjs:592:19
at async Server.nodeHandler (./node_modules/h3/dist/index.mjs:538:7)
$ curl localhost:4000/__nuxt_vite_node__/manifest
で、アクセスすると、返却されるんですが、エラーになる。わけがわからん。
解決
色々ぐぐってみたり、ソースコードも確認してみましたが、全然わからないので、ダウングレードしてみました。
$ yarn upgrade nuxt@3.0.0-rc.10
そしたらうまくいった!!!
ログが残っていないので気になるのは、manifestの結果が違うのが気になっています。(rc11の場合は、もっとスカスカでした)
$ curl localhost:4000/__nuxt_vite_node__/manifest | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 599 100 599 0 0 292k 0 --:--:-- --:--:-- --:--:-- 292k
{
"@vite/client": {
"file": "@vite/client",
"css": [
"/node_modules/@nuxt/ui-templates/dist/templates/welcome.vue?vue&type=style&index=0&scoped=b35d5156&lang.css"
],
"module": true,
"isEntry": true
},
"/node_modules/@nuxt/ui-templates/dist/templates/welcome.vue?vue&type=style&index=0&scoped=b35d5156&lang.css": {
"file": "/node_modules/@nuxt/ui-templates/dist/templates/welcome.vue?vue&type=style&index=0&scoped=b35d5156&lang.css",
"resourceType": "style"
},
"/nuxt-app/node_modules/nuxt/dist/app/entry.mjs": {
"resourceType": "script",
"module": true,
"file": "/nuxt-app/node_modules/nuxt/dist/app/entry.mjs",
"isEntry": true
}
}