现象
使用pnpm dev调试FastGPT私有部署版本4.8.9时,控制台抛出报错Cannot read properties of undefined (reading 'ReadPreference'),报错触发位置为webpack-internal:///../../packages/service/common/mongo/index.ts:77:46,完整调用栈显示该错误由MongoDB连接初始化流程引发。
可能原因
该报错源于MongoDB连接初始化时无法获取到预期的依赖对象,常见诱因包括:.env.local文件内配置的MONGODB_URI连接字符串格式错误;配置的MongoDB认证信息、连接参数与实际服务不匹配;或环境变量未被正确加载,导致MongoDB配置缺失。
排查步骤
- 打开项目根目录下的
.env.local文件,检查MONGODB_URI配置的格式,参考示例标准格式:mongodb://[username]:[password]@[host]:[port]/[database]?authSource=admin&directConnection=true - 确认配置的MongoDB用户名、密码、主机地址、端口、数据库名与实际部署的服务一致
- 在启动脚本或代码中打印
process.env.MONGODB_URI,确认环境变量已被正确加载 - 检查项目依赖是否完整安装,确保mongodb相关包未缺失
解决与验证
根据排查结果修正对应问题:若连接字符串格式错误,修正参数与实际服务匹配;若环境变量未加载,检查启动脚本的环境变量加载配置;若依赖缺失,重新执行依赖安装命令。修正完成后,重启pnpm dev调试命令,确认控制台不再抛出Cannot read properties of undefined (reading 'ReadPreference')报错,即可验证问题解决。