编译 Angular 6 项目时出现错误

I am getting an ERROR when compiling Angular 6 project

开始我的项目时 ng serve 我收到这个错误。 更新了我的 ts 但没有帮助。

这里是错误

    ERROR in node_modules/@types/node/assert.d.ts(3,68): error TS1144: '{' or ';' expected.
    node_modules/@types/node/assert.d.ts(57,68): error TS1144: '{' or ';' expected.
    node_modules/@types/node/assert.d.ts(66,94): error TS1144: '{' or ';' expected.
    node_modules/@types/node/assert.d.ts(66,101): error TS1005: ';' expected.
    node_modules/@types/node/assert.d.ts(66,104): error TS1005: ';' expected.
    node_modules/@types/node/assert.d.ts(68,98): error TS1144: '{' or ';' expected.
    node_modules/@types/node/assert.d.ts(68,105): error TS1005: ';' expected.
    node_modules/@types/node/assert.d.ts(68,108): error TS1005: ';' expected.
    node_modules/@types/node/assert.d.ts(76,47): error TS1144: '{' or ';' expected.
    node_modules/@types/node/assert.d.ts(76,53): error TS1005: ';' expected.
    node_modules/@types/node/assert.d.ts(76,56): error TS1005: ';' expected.
    node_modules/@types/node/assert.d.ts(106,61): error TS1005: ';' expected.
    node_modules/@types/node/base.d.ts(10,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/base.d.ts(11,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/base.d.ts(12,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/base.d.ts(13,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/ts3.4/base.d.ts(10,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/ts3.4/base.d.ts(11,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/ts3.4/base.d.ts(12,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/ts3.4/base.d.ts(13,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/ts3.6/base.d.ts(10,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/ts3.6/base.d.ts(11,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/ts3.6/base.d.ts(12,1): error TS1084: Invalid 'reference' directive syntax.
    node_modules/@types/node/ts3.6/base.d.ts(13,1): error TS1084: Invalid 'reference' directive syntax.`

这可能是您的 TypeScript 版本与某些 @types 包之间的不兼容问题。我将通过示例逐步引导您完成解决方案:

  1. 转到您的 package.json 并查找您的 TypeScript 和 @types 版本:
  "devDependencies": {
    // ...
    "@types/deep-freeze": "0.1.1",
    "@types/jasmine": "3.5.10",
    "@types/lodash.isequal": "4.5.5",
    "@types/lodash.mergewith": "4.6.6",
    "@types/lodash.remove": "4.7.6",
    "@types/lodash.some": "4.6.6",
    // ...
    "typescript": "2.9.2",
    // ...
  }
  1. 对于每个 @typesdonpm dist-tags @types/<your-types-package-name>。您现在会看到一个 table,指示哪个 TypeScript 版本适用于每个 @types 包版本

  2. package.json 中的 @types 更新为相应的版本

如果解决方案不起作用,请尝试将 TypeScript 更新到更新版本!

如果您在 package.json 文件中使用 "typescript": "~3.1.6",请更改 "@types/node" 版本到 "@types/node": "14.6.2", 在 package.json 文件中,这解决了我的问题..