Win10环境下Mongo Memory Server启动报错代码3221225781如何解决?
你遇到的错误代码3221225781是Windows平台专属的启动错误,本质是MongoDB二进制文件运行时缺少必要的系统依赖库,由于你在Ubuntu设备上运行完全正常,可直接排除代码逻辑错误,所有问题都出在Windows运行环境配置上。
解决步骤
- 安装Visual C++ Redistributable 2015-2019运行库
MongoDB 4.0及以上版本在Windows上运行必须依赖该组件,缺少对应x64版本的运行库就会启动直接崩溃返回该错误码,安装完成后重启电脑即可生效。 - 清理损坏的MongoDB二进制缓存
你本地缓存的MongoDB二进制文件可能存在下载损坏的情况,删除路径D:\code\thing\node_modules\.cache\mongodb-memory-server\mongodb-binaries下的所有文件,重新运行代码会自动重新下载完整的二进制文件。 - 临时指定更高的MongoDB版本规避兼容性问题
如果前两步操作后仍报错,可以在初始化MongoMemoryServer时指定更高的兼容版本,修改代码如下:const mongod = new MongoMemoryServer({ binary: { version: "5.0.16" } }); - 检查杀毒软件拦截规则
部分杀毒软件会误判MongoDB二进制文件为风险程序,阻止其启动,你可以暂时关闭杀毒软件后重新运行代码测试,或者把mongodb-binaries缓存目录加入杀毒软件白名单。
额外优化建议
你当前的异步自执行函数没有补充错误捕获逻辑,建议补充后方便后续排查问题:
const { MongoMemoryServer } = require("mongodb-memory-server"); const mongoose = require("mongoose"); (async () => { try { const mongod = new MongoMemoryServer(); const mongoUri = await mongod.getUri(); await mongoose.connect(mongoUri, { useNewUrlParser: true, useUnifiedTopology: true, }); console.log("MongoDB连接成功,地址:", mongoUri); } catch (err) { console.error("启动失败,错误信息:", err); } })();
内容的提问来源于stack exchange,提问作者Skyler Brandt
相关产品推荐
相关产品推荐

