Node.js+PM2环境下ReferenceError: dotenv is not defined问题求助
Node.js+PM2环境下ReferenceError: dotenv is not defined问题求助
我在使用PM2管理的Node.js后端应用中遇到了ReferenceError: dotenv is not defined的问题,以下是详细情况:
环境详情
- Node.js版本:18.20.5
- PM2版本:5.x
- 后端框架:Express.js
问题说明
当我尝试用PM2启动应用时,日志里出现了如下错误:
ReferenceError: dotenv is not defined at Object.<anonymous> (/root/DevTrust/backend/server.js:20:1) at Module._compile (node:internal/modules/cjs/loader:1364:14)
我已经尝试过的解决方法
- 执行命令安装dotenv:
npm install dotenv --force - 通过
npm list dotenv确认它已经在node_modules目录中 - 确保server.js文件顶部已经添加了:
require('dotenv').config(); - 确认backend文件夹下存在.env文件,且包含所需变量:
OPENAI_API_KEY=your_actual_api_key - 重启PM2服务:
pm2 restart backend pm2 save - 尝试直接用
node server.js启动服务器,这种方式完全正常
PM2日志情况
运行pm2 logs backend --lines 50时,日志里反复出现ReferenceError: dotenv is not defined错误。
预期与实际结果
- 预期行为:后端服务器通过PM2启动时,能正常从.env文件加载环境变量,无报错
- 实际行为:持续出现
ReferenceError: dotenv is not defined错误
请问怎么才能确保PM2运行后端服务器时,dotenv能被正确加载和识别呢?
任何见解或建议都非常感谢,提前谢谢大家!
备注:内容来源于stack exchange,提问作者nothing
相关产品推荐
相关产品推荐

