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

Node.js中读取.env文件变量显示undefined的解决方法

解决dotenv无法读取.env变量的问题

问题场景

项目根目录的.env文件定义变量:

CHECK_INTERVAL=5

test-env.js代码:

require("dotenv").config()
console.log(process.env.CHECK_INTERVAL)

执行命令node test-env.js后输出undefined,已确认dotenv包安装正常。

解决方法

  • 校验.env文件的命名与格式

    • 确保文件名为.env,无额外后缀(如.env.txt)或空格
    • 变量定义遵循KEY=VALUE格式,等号前后不要加空格,值无需额外引号(除非包含空格/特殊字符)
  • 手动指定.env文件路径
    若Node执行的工作目录与项目根目录不一致,dotenv可能无法自动找到文件。可通过path模块明确路径:

    const path = require('path');
    require('dotenv').config({ path: path.resolve(__dirname, '.env') });
    console.log(process.env.CHECK_INTERVAL);
    

    __dirname代表当前脚本所在目录,结合path.resolve能保证路径精准指向项目根目录的.env。

  • 确认终端执行目录
    执行node test-env.js时,终端当前工作目录必须是项目根目录。若在子目录执行命令,dotenv会默认读取终端当前目录下的.env,而非脚本所在目录的文件。

  • 重新安装dotenv
    偶尔版本兼容问题会导致异常,尝试重新安装依赖:

    npm uninstall dotenv
    npm install dotenv --save
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 06:35:05