You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Next.js至Coolify管理服务器,NEXT_PUBLIC_环境变量无法暴露求解

解决Coolify部署Next.js时NEXT_PUBLIC环境变量不生效的问题

以下是开发者们遇到类似问题时的排查和解决方向:

  • 核对Coolify环境变量配置细节
    确保所有带NEXT_PUBLIC_前缀的变量都单独勾选了「构建变量」(Build Variable),Coolify不会自动批量处理同前缀变量,很容易漏选。另外检查变量值是否包含多余空格或未转义的特殊字符,建议给带特殊字符的值加上引号,比如NEXT_PUBLIC_APP_NAME="My App!"。

  • 验证构建阶段的变量传递
    在package.json的build脚本前添加调试命令,比如:

    "scripts": {
      "build": "echo $NEXT_PUBLIC_API_URL && next build"
    }
    

    然后查看Coolify的构建日志,确认变量值是否被正确输出。如果日志里看不到变量,说明Coolify没在构建阶段传递变量,需要检查项目是否绑定了正确的环境变量组。

  • 检查Next.js代码中的变量使用
    确认代码里直接使用process.env.NEXT_PUBLIC_XXX,不要用自定义的env加载逻辑(比如dotenv)覆盖Next.js的默认注入机制——Next.js会自动处理NEXT_PUBLIC_前缀的变量,不需要额外配置dotenv。

  • 确认Coolify的应用类型配置
    确保Coolify中你的项目被设置为**「Next.js」应用类型**,而不是通用Node.js应用。Coolify针对Next.js有专门的环境变量处理逻辑,选错类型会导致构建阶段变量无法注入。

  • 清理缓存并重新部署
    Coolify有时会缓存旧的构建产物或环境变量配置,尝试手动清理构建缓存(在项目部署页面找到缓存清理选项),然后删除旧部署版本,重新触发完整构建部署。

内容的提问来源于stack exchange,提问作者Chris Westbrook

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 15:47:11