我已经通过命令创建了 Next.js 应用程序,npx create-next-app@latest但运行后npm run dev出现以下错误。

未捕获的类型错误:URL.canParse 不是 getSocketUrl 处的函数(webpack-internal:///(:3001/app-pages-browser)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js:23:13)

该应用程序是使用 Next.js 版本 14.2.11 创建的

我尝试按照 ChatGpt 提供的建议修复它,但没有成功。尝试了以下解决方案

npm update next react react-dom

清除缓存 –rm -rf .next

重启服务器-npm run dev

2

  • 1
    你运行的是 Electron 吗?如果在 Electron 中运行,也会遇到同样的错误,但如果在 Chrome 中运行,就可以正常工作。


    – 

  • @LawrenceZeng 同样如此,只有在使用 Electron 运行时才会出现错误


    – 


最佳答案
4

将 nextjs 版本降级到 14.2.10 即可。

类似的建议检查/更新您的node-version 以及升级@types/node。这可能也适用于您。

据称 URL.canParse已添加于:v19.9.0 , v18.17.0

您可以node -v在终端中运行来检查当前的 Node 版本。

1

  • 节点版本是 22.2.0


    – 

将 nextjs 版本从 “next”: “14.2.11” 降级为 “next”: “14.2.10” 并将 “eslint-config-next”: “14.2.11” 降级为 “eslint-config-next”: “14.2.11” 每次安装新的 nextjs 项目时都可以降级到稳定的 nextjs 版本

请将 Next 更新至最新版本。另外,别忘了更新您的网络浏览器。

1

  • 1
    我也有最新版本,我猜这与浏览器有关


    –