MERN栈开发模式运行npm start时遇Dotenv not found错误求助
排查MERN项目启动时「Dotenv not found」错误的方案
检查dotenv依赖是否安装
先确认项目已安装dotenv包,终端执行:npm list dotenv若未找到,执行安装命令:
npm install dotenv --save-dev确认.env文件的命名与位置
- 确保文件名是
.env(必须带开头的点,不能写成env或.env.local等非默认命名,除非代码中手动指定了文件名) - 确认文件处于项目根目录(与
package.json同一层级,可通过终端执行ls -la查看所有文件,包括隐藏文件)
- 确保文件名是
检查代码中dotenv的加载逻辑
必须在项目入口文件(如server.js/app.js)的最顶部加载dotenv,且要早于其他依赖引入:// CommonJS写法 require('dotenv').config(); // ES模块写法 import dotenv from 'dotenv'; dotenv.config();若.env路径特殊,需手动指定路径参数:
require('dotenv').config({ path: './.env' });检查package.json的启动脚本
确认scripts中的start命令配置正确,若用node直接启动,可显式指定加载dotenv:"scripts": { "start": "node -r dotenv/config server.js" }清除依赖缓存重新安装
若依赖缓存异常,执行以下命令后重启项目:rm -rf node_modules package-lock.json npm install
内容的提问来源于stack exchange,提问作者Shah
相关产品推荐
相关产品推荐

