节点模块错误:类型参数“OT”具有循环约束

问题描述 投票:0回答:2

运行时出现错误:

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

node.js angular ngrx-store ngrx-effects
2个回答
1
投票

当我对我们的项目进行角度更新时,我遇到了完全相同的错误。最后,问题似乎出在最新的 Typescript v5.4.2 上。我刚刚将其降级到 v5.2.2 并且可以正常工作。

我稍后会进行更详细的调查,我只是想让您知道立即解决您的拦截器问题。


0
投票

今天在升级了 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"
© www.soinside.com 2019 - 2024. All rights reserved.