编译任何只导入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
看起来mongodb
npm昨晚(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再次生成它。