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

Node.js 20.9.0中Nodemon无法加载.env变量(值为undefined)

问题描述
  • Node.js 20.6.0及以上版本内置了.env文件支持,无需依赖dotenv包
  • 直接执行node --env-file=.env index.js时,环境变量可正常加载
  • 使用nodemon执行npm run dev脚本时,环境变量始终为undefined
  • 相关版本:
    • Node.js:20.9.0
    • Nodemon:3.0.1
  • 已尝试修改package.json脚本为:
    "scripts": {"dev": "nodemon --exec 'node --env-file=.env index.js'"}
    
    但问题仍未解决
解决方案

1. 调整npm脚本的引号写法

npm脚本在不同操作系统的shell中对单引号的解析存在差异,去掉单引号即可:

"scripts": {
  "dev": "nodemon --exec node --env-file=.env index.js"
}

2. 使用nodemon配置文件管理执行命令

在项目根目录创建nodemon.json文件,写入以下内容:

{
  "exec": "node --env-file=.env index.js"
}

然后修改package.json的脚本为:

"scripts": {
  "dev": "nodemon"
}

3. 排查基础问题

  • 确认.env文件确实位于项目根目录,文件名无拼写错误(比如不要写成.env.local或.env.dev)
  • 检查代码中读取环境变量的语句是否正确,比如process.env.YOUR_VARIABLE_NAME,变量名要和.env文件中的完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:13:11