解决 Next.js build 完成后卡住的问题

💡 原文中文,约3200字,阅读约需8分钟。
📝

内容提要

在构建 Next.js 项目时,常出现卡住现象,问题与 Next.js 的 Telemetry 相关。可以通过执行 `npx next telemetry disable` 来禁用 Telemetry。由于网络问题,HTTP_PROXY 和 HTTPS_PROXY 对 Next.js 无效,建议使用 TUN 或 WireGuard 进行全局联网。

🎯

关键要点

  • 在执行 Next.js 项目的 npm run build 后,常出现卡住现象,尤其是在完成 Finalizing page optimization 后。
  • 可以通过执行 npx next telemetry disable 来禁用 Next.js 的 Telemetry,从而解决卡住问题。
  • 使用 strace 和 ss 命令分析发现,Next.js 编译过程中可能遇到网络问题,导致卡住。
  • HTTP_PROXY 和 HTTPS_PROXY 对 Next.js 无效,建议使用 TUN 或 WireGuard 进行全局联网。
  • 在中国大陆,Vercel 的服务可能会受到阻断,导致构建过程中的问题。

延伸问答

为什么在构建 Next.js 项目时会卡住?

构建过程中卡住通常与 Next.js 的 Telemetry 相关,尤其是在完成 Finalizing page optimization 后。

如何解决 Next.js 构建卡住的问题?

可以通过执行 `npx next telemetry disable` 来禁用 Next.js 的 Telemetry,从而解决卡住问题。

在中国大陆使用 Vercel 时会遇到什么问题?

在中国大陆,Vercel 的服务可能会受到阻断,导致构建过程中的问题。

使用 HTTP_PROXY 和 HTTPS_PROXY 对 Next.js 有效吗?

HTTP_PROXY 和 HTTPS_PROXY 对 Next.js 无效,建议使用 TUN 或 WireGuard 进行全局联网。

如何分析 Next.js 构建过程中的问题?

可以使用 strace 和 ss 命令分析 Next.js 编译过程中执行的系统调用,以找出卡住的原因。

Next.js 的 Telemetry 是什么?

Telemetry 是 Next.js 的一个功能,用于收集使用数据,可能导致构建过程中的卡住现象。

➡️

继续阅读