【问题标题】:Cannot find name 'MediaQueryListEventMap' when I compile my angular project编译 Angular 项目时找不到名称“MediaQueryListEventMap”
【发布时间】:2019-01-14 14:23:03
【问题描述】:

这是我构建项目时的错误信息:

ERROR in node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(83,38): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(83,99): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(84,41): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(84,102): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(95,67): error TS2304: Cannot find name 'MediaQueryListEvent'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(29,38): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(29,99): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(30,41): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(30,102): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(56,67): error TS2304: Cannot find name 'MediaQueryListEvent'.

我离开这个项目有一段时间了。也许节点模块更新有问题,但我不知道如何修复它,这是package.json:

"dependencies": {
    "@angular/animations": "^6.0.3",
    "@angular/common": "^6.0.3",
    "@angular/compiler": "^6.0.3",
    "@angular/core": "^6.0.3",
    "@angular/flex-layout": "^7.0.0-beta.23",
    "@angular/forms": "^6.0.3",
    "@angular/http": "^6.0.3",
    "@angular/material": "^6.4.0",
    "@angular/platform-browser": "^6.0.3",
    "@angular/platform-browser-dynamic": "^6.0.3",
    "@angular/router": "^6.0.3",
    "core-js": "^2.5.4",
    "font-awesome": "^4.7.0",
    "rxjs": "^6.0.0",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@angular/compiler-cli": "^6.0.3",
    "@angular-devkit/build-angular": "~0.6.8",
    "typescript": "~2.7.2",
    "@angular/cli": "~6.0.8",
    "@angular/language-service": "^6.0.3",
    "@types/jasmine": "~2.8.6",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.2.1",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~1.7.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.0",
    "karma-jasmine": "~1.1.1",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.3.0",
    "ts-node": "~5.0.1",
    "tslint": "~5.9.1"
  }

说实话,我对角度更新感到非常沮丧。每次我尝试“npm install”时,总是会遇到一些问题。有没有更好的方法来处理它。非常感谢你!

【问题讨论】:

  • 除了flex-layout 之外,您的依赖关系已经很老了。我建议运行ng update 看看是否成功。
  • 不,兄弟。它说“包“@angular/material”缺少“@angular/cdk”@“7.2.1”的对等依赖项。不知道怎么处理。
  • 通过添加 @angular/cdk 作为依赖项。

标签: angular npm-install


【解决方案1】:

我遇到了同样的问题,所以我尝试了

ng update --all

但它给了我

                  Package "@angular/compiler-cli" has an incompatible peer dependency to "typescript" (requires ">=3.1.1 <3.3", would install "3.3.3").
                  Package "@angular/compiler-cli" has an incompatible peer dependency to "typescript" (requires ">=3.1.1 <3.3", would install "3.3.3")
Incompatible peer dependencies found. See above.

这对我有用,虽然很粗糙:

ng update --all --force
npm install typescript@">=3.1.1 <3.3.0"

【讨论】:

  • 是的,我用 ng update --all --force 来解决问题
【解决方案2】:

我有同样的问题。 删除文件夹“node_modules”并重新安装 node_modules 通过'npm install'

【讨论】:

  • 您好,欢迎来到 Stack Overflow。由于这个答案的长度很短,它有被否决和标记的风险。请详细说明一下,并包括您为解决问题而运行的确切命令。
猜你喜欢
  • 2019-12-09
  • 1970-01-01
  • 2021-05-01
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-27
  • 1970-01-01
相关资源
最近更新 更多