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

Next.js项目根目录下.env.local配置不生效,getServerSideProps无法读取环境变量

Next.js .env.local 环境变量不生效解决步骤
  • 首先确认.env.local文件存放位置:必须和next.config.js、package.json处于项目根目录同一层级,不要放在src、public等子目录下。
  • 修改环境变量文件后必须重启开发服务:Next.js只会在服务启动时加载一次环境变量,修改.env.local后需要终止当前npm run dev/yarn dev进程,重新启动服务才能生效。
  • 检查.env.local语法规则:
    • 等号前后不要加空格,错误写法如API_KEY = SOME_API_KEY,正确写法为API_KEY=SOME_API_KEY
    • 非必要不要给值加引号,如果加了引号,读取到的值会自带引号字符
  • 卸载额外安装的dotenv依赖:Next.js内置环境变量加载能力,额外安装的dotenv可能会和内置逻辑冲突,执行npm uninstall dotenv移除即可。
  • 验证加载情况:可以在next.config.js中添加console.log(process.env.API_KEY),启动服务时查看终端输出,如果有对应值说明环境变量已正常加载,问题出在业务代码逻辑;如果依然为undefined可以删除项目下的.next缓存目录后重新启动服务。
  • 补充说明:只有需要在客户端组件中读取的环境变量,才需要给变量名加上NEXT_PUBLIC_前缀,服务端运行的getServerSideProps、接口路由等场景不需要此前缀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:39:04