【问题标题】:Property 'end' in type 'GridFSBucketWriteStream' is not assignable to the same property in base type 'WritableStream''GridFSBucketWriteStream' 类型中的属性'end' 不能分配给基类型'WritableStream' 中的相同属性
【发布时间】:2022-01-05 16:53:44
【问题描述】:
node_modules/mongodb/mongodb.d.ts:3314:5 - error TS2416: Property 'end' in type 'GridFSBucketWriteStream' is not assignable to the same property in base type 'Writable'.
  Type '{ (): void; (chunk: Buffer): void; (callback: Callback<void | GridFSFile>): void; (chunk: Buffer, callback: Callback<void | GridFSFile>): void; (chunk: Buffer, encoding: BufferEncoding): void; (chunk: Buffer, encoding: BufferEncoding, callback: Callback<...>): void; }' is not assignable to type '{ (cb?: () => void): this; (chunk: any, cb?: () => void): this; (chunk: any, encoding: BufferEncoding, cb?: () => void): this; }'.

3314     end(chunk: Buffer, encoding: BufferEncoding | undefined, callback: Callback<GridFSFile | void>): void;
         ~~~

之前是对的,但是当我添加了将静态文件(图像)上传到 s3 存储桶的功能(使用 multer 和 multer-s3)时,我在执行 yarn dev 启动运行的服务器时遇到此错误这个"dev": "NODE_ENV=dev nodemon -e ts --exec \"npm run compile\"",

我的 package.json 脚本

"scripts": {
    "compile": "tsc && node build/index.js | pino-pretty",
    "dev": "NODE_ENV=dev nodemon -e ts --exec \"npm run compile\"",
    "start": "NODE_ENV=prod node build/index.js | pino-pretty",
    "lint": "eslint . --ext .ts"
},

更新:它以某种方式适用于 start 脚本,但不适用于 dev 脚本。此外,它还夺走了我的“开发”权力:(

【问题讨论】:

    标签: node.js mongodb multer multer-s3


    【解决方案1】:

    这个问题解决了我的问题: Conversion 'GridFSBucketWriteStream' to type 'WritableStream' impossible?

    解决方案:将@types/node 降级为16,因为node 17 有重大更改。采用 npm i -D @types/node@16 或 yarn add -D @types/node@16 这样做

    【讨论】:

      【解决方案2】:

      好消息。此问题已在 mongodb 版本 4.3.0 中得到解决。 (这是错误报告:jira.mongodb.org/browse/NODE-3843)

      【讨论】:

        猜你喜欢
        • 2021-06-22
        • 2019-09-09
        • 1970-01-01
        • 2018-08-25
        • 2021-12-12
        • 2021-10-28
        • 2023-02-13
        • 2020-08-23
        • 1970-01-01
        相关资源
        最近更新 更多