类型ORM错误与fs,缓冲区和流



我的名字是乔治,我是Angular的初学者,我在TypescriptTypeORM方面遇到了问题。

当我编译代码时,给我这个错误

node_modules/typeorm/driver/mongodb/MongoConnectionOptions.d.ts(53,33):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/MongoConnectionOptions.d.ts(58,33):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/MongoConnectionOptions.d.ts(63,32):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/MongoConnectionOptions.d.ts(68,33):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(92,13):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(294,19):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(298,15):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(302,14):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(306,15):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(365,19):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(369,15):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(373,14):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(377,15):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(416,19):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(420,15):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(424,14):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(428,15):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(1591,25):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(1636,45):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(1647,19):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(4233,34):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(4317,21):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(4478,34):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(4526,21):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(4595,34):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/driver/mongodb/typings.d.ts(4627,21):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段中。

node_modules/typeorm/platform/PlatformTools.d.ts(2,28):错误 TS2307:找不到模块"fs"。

node_modules/typeorm/platform/PlatformTools.d.ts(4,36):错误 TS2307:找不到模块"流"。

node_modules/typeorm/platform/PlatformTools.d.ts(38,44):错误 TS2580:找不到名称"缓冲区"。是否需要为节点安装类型定义?尝试npm i @types/node,然后将node添加到 tsconfig 中的类型字段。

这是我的 tsconfig 文件

{
"compilerOptions": {
"lib": [
"es5",
"es6",
"dom"
], 
"target": "es5",      
"module": "commonjs",
"moduleResolution": "node",
"outDir": "./build",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"types": [
"node"
],
"typeRoots": ["node_modules/@types"]

},
"exclude": [
"node_modules",
]
}

为什么会出现此错误?

我在Ionic/Angular 7和AWS amplify项目中遇到了非常相似的错误。以下是错误输出的一部分:

...
[ng] ERROR in node_modules/aws-sdk/clients/acm.d.ts(133,37): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/acm.d.ts(135,38): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/acm.d.ts(469,32): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/acm.d.ts(471,32): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/acmpca.d.ts(283,37): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/acmpca.d.ts(285,38): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/acmpca.d.ts(353,25): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/apigateway.d.ts(1150,23): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/appsync.d.ts(248,23): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/clouddirectory.d.ts(1571,38): error TS2580: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node`.
[ng] node_modules/aws-sdk/clients/cloudsearchdomain.d.ts(7,24): error TS2307: Cannot find module 'stream'.
...

不幸的是,按照错误建议的说明不是我的解决方案。 相反,我不得不编辑tsconfig.app.json文件并完全删除空类型"types": []

因此,它曾经是这样的:

{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"types": []
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}

并变成这样:

{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app"
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}

如果你在types 数组中有条目,那么就没有问题,你不应该有前面描述的错误。

当数组为空时,会出现此问题。

在tsconfig.app.json中尝试这样做

{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"types": [
"node"
],
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]}

您收到错误是因为缺少声明文件。如果要用打字稿编程,则需要这些文件。

正如错误所暗示的那样,您可以通过键入npm install @types/node.

更新

根据此:应用程序无法构建 - 找不到缓冲区 #4487

您可能需要在 tsconfig 中将"node"添加到您的"types"中,如下所示:

"compilerOptions": {
[...]
"types": ["node"]
},

最新更新