运行时出现错误:
ng serve
错误:
Error: node_modules/@ngrx/effects/src/effect_creator.d.ts:12:43 - error TS2313: Type parameter 'OT' has a circular constraint.
12 }, DT extends DispatchType<C>, OT extends ObservableType<DT, OT>, R extends EffectResult<OT>>(source: () => R & ConditionallyDisallowActionCreator<DT, R>, config?: C): R & CreateEffectMetadata;
如何修复这个错误?
我尝试过
npm install @ngrx/effects@latest @ngrx/store@latest @ngrx/store-devtools@latest rxjs@latest --save
但在 Angular 项目中运行
ng serve
时仍然出现错误!我的角度版本是: ^17.1.3
和节点 vesrion 18.19.0
当我对我们的项目进行角度更新时,我遇到了完全相同的错误。最后,问题似乎出在最新的 Typescript v5.4.2 上。我刚刚将其降级到 v5.2.2 并且可以正常工作。
我稍后会进行更详细的调查,我只是想让您知道立即解决您的拦截器问题。
今天在升级了 package.json 中的所有角度依赖项后,我也看到了这个错误,并认为它与 NgRx 库有一些联系,但后来我也将打字稿版本从 5.4.2 降低到 5.3.3,错误消失了。我的 package.json 现在看起来像这样
"dependencies": {
"@angular/animations": "17.3.0",
"@angular/cdk": "17.3.0",
"@angular/common": "17.3.0",
"@angular/compiler": "17.3.0",
"@angular/core": "^17.3.0",
"@angular/forms": "17.3.0",
"@angular/material": "17.3.0",
"@angular/platform-browser": "17.3.0",
"@angular/platform-browser-dynamic": "17.3.0",
"@angular/router": "17.3.0",
"@capacitor/android": "5.7.3",
"@capacitor/cli": "5.7.3",
"@capacitor/core": "5.7.3",
"@ionic/angular": "7.8.0",
"@ngrx/effects": "17.1.1",
"@ngrx/store": "17.1.1",
"@ngrx/store-devtools": "17.1.1",
"@ngx-translate/core": "15.0.0",
"@ngx-translate/http-loader": "8.0.0",
"chart.js": "4.4.2",
"crypto-js": "4.2.0",
"ngx-device-detector": "7.0.0",
"rxjs": "7.8.1",
"tslib": "2.6.2",
"yarn": "^1.22.22",
"zone.js": "0.14.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "17.3.0",
"@angular-eslint/builder": "17.3.0",
"@angular-eslint/eslint-plugin": "17.3.0",
"@angular-eslint/eslint-plugin-template": "17.3.0",
"@angular-eslint/schematics": "17.3.0",
"@angular-eslint/template-parser": "17.3.0",
"@angular/cli": "^17.3.0",
"@angular/compiler-cli": "17.3.0",
"@angular/localize": "17.3.0",
"@cypress/schematic": "2.5.1",
"@ionic/angular-toolkit": "latest",
"@ngrx/eslint-plugin": "17.0.1",
"@types/crypto-js": "4.2.2",
"@types/jasmine": "5.1.4",
"@types/jest": "29.5.12",
"@types/node": "20.11.29",
"@typescript-eslint/eslint-plugin": "7.3.1",
"@typescript-eslint/parser": "7.3.1",
"chai": "5.1.0",
"cypress": "13.7.0",
"eslint": "8.57.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-json-format": "2.0.1",
"eslint-plugin-prettier": "5.1.3",
"jasmine-core": "5.1.2",
"karma": "6.4.3",
"karma-chrome-launcher": "3.2.0",
"karma-coverage": "2.2.1",
"karma-jasmine": "5.1.0",
"karma-jasmine-html-reporter": "2.1.0",
"mocha": "10.3.0",
"ng-packagr": "17.3.0",
"prettier": "3.2.5",
"prettier-plugin-organize-imports": "3.2.4",
"start-server-and-test": "2.0.3",
"typescript": "5.3.3",
"wait-on": "7.2.0"