使用打字稿导入"mongodb"时出错



编译任何只导入mongodb的typescript程序时,我会得到12个错误,如:

node_modules/mongodb/mongodb.d.ts:3309:5 - error TS2416: Property 'end' in type 'GridFSBucketWriteStream' is not assignable to the same property in base type 'WritableStream'

使用节点TLS(v16.13.1(进行复制很简单;一个空目录,只需运行:

npm i mongodb typescript
echo "import mongodb  from 'mongodb'" > index.ts
npx tsc index

我提到了这个https://github.com/mongodb/node-mongodb-native/pull/3088

npm i @types/node@16.11.7 --save-dev

看起来mongodbnpm昨晚(2022-01-06(发布了4.3.0,现在解决了这个问题!changelog在这里包含问题:#3088

v4现在编译时没有这些错误!

我必须将@types/node降级到17.0.0版

"类型/节点":"17.0.0〃;,为我工作

阅读更多:https://github.com/mongodb/node-mongodb-native/pull/3088

mongodb 4.3.0为我修复了这个问题。我使用mongoose,但我在依赖项中放入了"mongodb": "^4.3.0"来强制更新。我不知道这样做是否正确,但它在等待猫鼬更新时有效。

我无法在本地环境中重现您的问题,所以我认为这可能与您项目中的其他包有关。

正如关于这个问题的建议,您应该尝试删除package-lock.json,然后使用npm再次生成它。

最新更新