升级到Angular 8后出现Jasmine错误 [英] Jasmine errors after upgrading to Angular 8

查看:122
本文介绍了升级到Angular 8后出现Jasmine错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

升级我的角度CLI和库后,我真的很难使我的项目正常工作.

After upgrading my angular CLI and libraries, I am really struggling to make my project work.

当我运行ng test --source-map false时,出现以下错误.

When I run ng test --source-map false I get the following error.

该如何解决?

ERROR in node_modules/@types/jasmine/index.d.ts:20:1 - error TS6200: Definitions of the following identifiers conflict with those in another file: ImplementationCallback, Exp
ectedRecursive, Expected, SpyObjMethodNames, CustomEqualityTester, CustomMatcherFactory, ExpectationFailed, SpecFunction, SpyObj, jasmine

20 type ImplementationCallback = (() => PromiseLike<any>) | (() => void) | ((done: DoneFn) => void);
   ~~~~

  node_modules/@types/jasmine/ts3.1/index.d.ts:16:1
    16 type ImplementationCallback = (() => Promise<any>) | ((done: DoneFn) => void);
       ~~~~
    Conflicts are in this file.
node_modules/@types/jasmine/index.d.ts:712:14 - error TS2314: Generic type 'SpyAnd<Fun>' requires 1 type argument(s).

我的package.json看起来像这样:

{
  "name": "my-app",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build --prod",
    "build-tomcat": "ng build --prod --aot",
    "build-unpacked": "ng build",
    "test": "ng test --browsers ChromeHeadless --code-coverage --watch false --progress",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular-redux/store": "^10.0.0",
    "@angular/animations": "~8.2.7",
    "@angular/common": "~8.2.7",
    "@angular/compiler": "~8.2.7",
    "@angular/core": "~8.2.7",
    "@angular/forms": "~8.2.7",
    "@angular/platform-browser": "~8.2.7",
    "@angular/platform-browser-dynamic": "~8.2.7",
    "@angular/router": "~8.2.7",
    "@progress/kendo-angular-buttons": "^5.0.0",
    "@progress/kendo-angular-common": "^1.1.0",
    "@progress/kendo-angular-dateinputs": "^4.1.0",
    "@progress/kendo-angular-dialog": "^4.1.0",
    "@progress/kendo-angular-dropdowns": "^4.1.0",
    "@progress/kendo-angular-excel-export": "^3.0.1",
    "@progress/kendo-angular-grid": "^4.3.0",
    "@progress/kendo-angular-inputs": "^6.2.0",
    "@progress/kendo-angular-intl": "^2.0.0",
    "@progress/kendo-angular-l10n": "^2.0.0",
    "@progress/kendo-angular-layout": "^4.1.1",
    "@progress/kendo-angular-menu": "^2.0.0",
    "@progress/kendo-angular-pdf-export": "^2.0.0",
    "@progress/kendo-angular-popup": "^3.0.1",
    "@progress/kendo-angular-sortable": "^3.0.1",
    "@progress/kendo-angular-treeview": "^4.0.1",
    "@progress/kendo-data-query": "1.5.2",
    "@progress/kendo-drawing": "^1.5.4",
    "@sentry/browser": "5.6.3",
    "@types/jsonpath": "^0.2.0",
    "classlist.js": "^1.1.20150312",
    "core-js": "^3.2.1",
    "flux-standard-action": "^2.0.3",
    "jquery": "^3.2.1",
    "jsonpath": "^1.0.0",
    "ngx-clipboard": "^12.2.1",
    "ngx-toastr": "^11.0.0",
    "redux": "4.0.1",
    "redux-devtools-extension": "^2.13.8",
    "redux-observable": "^1.0.0",
    "rxjs": "~6.4.0",
    "tslib": "^1.10.0",
    "web-animations-js": "^2.3.2",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.803.5",
    "@angular/cli": "~8.3.5",
    "@angular/compiler-cli": "~8.2.7",
    "@angular/language-service": "~8.2.7",
    "@types/node": "~8.9.4",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "^5.0.0",
    "grunt": "^1.0.3",
    "grunt-cli": "^1.2.0",
    "grunt-war": "^0.5.1",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "karma-junit-reporter": "^1.2.0",
    "protractor": "~5.4.0",
    "rxjs-spy": "^7.0.2",
    "ts-node": "~8.4.1",
    "tslint": "~5.20.0",
    "tslint-sonarts": "^1.9.0",
    "typescript": "~3.5.3"
  }
}

推荐答案

它与ts版本有关,您必须检查哪个 ts 版本与您的" @ types/jasmine "此处 https://www.npmjs.com/package/@types/jasmine ,在您的情况下为 3.4

it's related to ts version, you have to check which version of ts goes with your "@types/jasmine" here https://www.npmjs.com/package/@types/jasmine, in your case it's 3.4

npm install @types/jasmine@3.4.0

这篇关于升级到Angular 8后出现Jasmine错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆