找不到模块“bson”的声明文件

问题描述 投票:0回答:3

我做了一个

rm -rf node_modules && npm cache verify && npm install && npm run start
,现在我的控制台正在抱怨

node_modules/@types/mongodb/index.d.ts:46:78 - 错误 TS7016:无法 找到模块“bson”的声明文件。 '/Users/microurb/Projects/backend/node_modules/bson/index.js' 隐式具有“any”类型。 尝试

npm i --save-dev @types/bson
如果 它存在或添加包含
declare module 'bson';

的新声明 (.d.ts) 文件

46 导入 { 二进制、十进制 128、双精度、Int32、长整型、ObjectId、 来自“bson”的时间戳};

我之前根本没有遇到过这个错误,为什么仅仅因为运行上面的代码就出现这个错误呢?

我尝试运行

npm i --save-dev @types/bson
,但这并没有解决问题。

node.js bson
3个回答
0
投票

也可以通过安装 bson 来修复此问题

npm i --save-dev bson

由于某种原因,它似乎没有包含在 mongo deps 中


0
投票

就我而言,我使用的是

@types/mongodb
版本
3.6.3
,它依赖于旧版本的
@types/bson
。但是,由于
@types/mongodb
@types/bson
的依赖版本指定为
'*'
,因此它会安装较新的版本,从而导致错误。

要解决此问题,我们可以使用以下配置将

@types/bson
的版本强制为
1.0.11

"resolutions": {
  "@types/bson": "1.0.11"
}

-1
投票

我只需在上面添加

// @ts-ignore
即可解决此问题:

import { Binary, Decimal128, Double, Int32, Long, ObjectId, Timestamp } from "bson";

@types/mongodb
包装内。

© www.soinside.com 2019 - 2024. All rights reserved.