😽

Next.jsで「TypeError: fetch failed」が出た。

に公開

Next.jsで「TypeError: fetch failed」が出た。

エラーの内容は以下のとおりです。

TypeError: fetch failed
at Object.fetch (/var/task/node_modules/next/dist/compiled/undici/index.js:1:26684)
at processTicksAndRejections (node:internal/process/task_queues:96:5)

いくつかの解決方法が TypeError: fetch failed in server componant since next 13.0.6 #44062 に記載されていました。
私の場合はnext.config.jsの先頭に以下を記述することで解決しました。

const dns = require("dns");
dns.setDefaultResultOrder("ipv4first")

原因は、Node 17/18がlocalhostのデフォルトとしてIPv6を使用しているためとのことです。
参考ページ

つまりNodeのバージョンを変更することでも解決できそうです。

GitHubで編集を提案

Discussion