警告:在循环依赖中访问模块导出的不存在的属性“MongoError”
我正在使用节点进行 API 并使用 Mongoose。当我yarn dev
启动我的 Nodemon 时,Mongo 出现错误,我不知道如何解决这个问题。有人会有什么想法吗?(我正在使用 MongoDB Atlas 数据库)
在以下错误之后。
yarn run v1.22.5
$ nodemon src/server.js
[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node src/server.js`
(node:752) Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:752) DeprecationWarning: Listening to events on the Db class has been deprecated and will be removed in the next major version.
我正在使用
- 节点 v14.15.4
- npm 6.14.10
我的 package.json
{
"name": "backend",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"dev": "nodemon src/server.js"
},
"dependencies": {
"express": "^4.17.1",
"md5": "^2.3.0",
"mongoose": "^5.11.16",
"multer": "^1.4.2",
"yarn": "^1.22.10"
},
"devDependencies": {
"nodemon": "^2.0.7"
}
}
回答
刚刚发现这个,警告可以忽略它会在即将到来的更新中修复
大家好,
感谢举报!我今天在工作时自己解决了这个问题。我联系了 Node 驱动程序团队。该警告可以安全地忽略,并且有望在即将发布的版本中消失。
https://developer.mongodb.com/community/forums/t/warning-accessing-non-existent-property-mongoerror-of-module-exports-inside-circular-dependency/15411/6
回答
同样的问题,但 =>
npm install mongoose@5.11.15
修复错误消息。
不要忘记检查 package.json 是否自动将其更改为 5.11.15,否则 => 手动键入。
回答
这是由当前版本中的弃用引起的。像这样安装以前的5.11.15版本
npm i mongoose@5.11.15
它应该像这样列在您的依赖项中
"mongoose": "^5.11.15"
"mongoose": "^5.11.15"
回答
2021年
这已在5.12.1 中(再次)修复。将 mongoose 更新到此版本以修复警告。
https://github.com/Automattic/mongoose/issues/9900#issuecomment-802166493
回答
我认为对版本 ^5.11.16 的 Moongose 依赖性发生了变化。因为我也经历过。使用以前的版本后,警告消失了。
回答
更新
MongoDB NodeJS 驱动程序 3.6.5已发布。
npm i mongodb
该MongoError
固定在这个版本。所以请随意将猫鼬更新到 5.12.0
npm i mongoose