web-dev-qa-db-fra.com

ERREUR dans node_modules / rxjs-compat / operator / shareReplay.d.ts (2,10): erreur TS2305:

J'essaie de mettre à niveau une application de base angular squelette de angular 5 à angular 6 et voici le problème que je viens) à travers lorsque vous essayez d'exécuter l'application:

ERROR in node_modules/rxjs-compat/operator/shareReplay.d.ts(2,10): error TS2305: Module '"C:/newAdmin/testing-front-end/admin-fe/node_modules/rxjs/internal-compatibility/index"' has no exported member 'ShareReplayConfig'.

Voici mon package.json:

{
 "name": "admin-fe",
 "version": "0.0.0",
 "scripts": {
 "ng": "ng",
 "start": "ng serve",
 "build": "ng build",
 "test": "ng test",
 "lint": "ng lint",
 "e2e": "ng e2e"
 },
 "private": true,
 "dependencies": {
   "@angular-devkit/core": "^7.3.0",
   "@angular/animations": "^6.1.0",
   "@angular/common": "^6.1.0",
   "@angular/compiler": "^6.1.0",
   "@angular/core": "^6.1.0",
   "@angular/forms": "^6.1.0",
   "@angular/http": "^6.1.0",
   "@angular/platform-browser": "^6.1.0",
   "@angular/platform-browser-dynamic": "^6.1.0",
   "@angular/router": "^6.1.0",
   "@ngrx/store": "^7.2.0",
   "angular-oauth2-oidc": "^5.0.2",
   "core-js": "^2.5.4",
   "moment": "^2.24.0",
   "rxjs": "6.3.3",
   "rxjs-compat": "^6.4.0",
   "zone.js": "~0.8.26"
  },
  "devDependencies": {
   "@angular-devkit/build-angular": "~0.7.0",
   "@angular/cli": "~6.1.3",
   "@angular/compiler-cli": "^6.1.0",
   "@angular/language-service": "^6.1.0",
   "@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",
   "TypeScript": "^2.9.1"
 }
}

Je n'obtiens pas cette erreur lors de l'utilisation de TypeScript 3.3.1 mais je ne peux pas l'utiliser car le compilateur ne me permettra que jusqu'à TypeScript <v2.10.0

Quelles mesures puis-je prendre ici?

ÉDITER :

J'ai aligné à la fois les versions rxjs et rxjs-compat pour être 6.3.3 mais maintenant j'obtiens l'erreur suivante:

ERROR in node_modules/@ngrx/store/src/store.d.ts(30,31): error TS2304: Cannot find name 'Extract'.
17
jackfr0st

J'ai eu le même problème, j'ai dû rétrograder rxjs-compat (6.3.3) pour l'aligner avec rxjs (6.3.3),

Dans votre package.json, cela devrait ressembler à:

"rxjs": "6.3.3",
"rxjs-compat": "6.3.3",

Si vous utilisez rxjs 6.4.0, vous n'avez pas besoin d'utiliser rxjs-compat, qui fournit une couche de compatibilité entre rxjs v6 et v5.

Je pense donc que vous pouvez utiliser directement import {shareReplay} à partir de 'rxjs/operators';

Plus d'informations sur les opérateurs ici: https://www.learnrxjs.io/

40
pk_code

J'ai eu le même problème pour le projet où les versions de rxjs et rxjs-compat étaient différentes dans le fichier package.json comme rxjs = "6.3.3" et rxjs-compat = "6.4.0" donc j'ai juste rétrogradé la version rxjs-compat en suivant la commande:

npm install [email protected] --s

ça a marché pour moi.

9
Omkar Waghe

J'ai rencontré un problème identique avec "rxjs": "6.3.3","rxjs-compat": "6.4.0" et malgré le passage à la version ^6.3.3 l'erreur est restée. Juste un petit ajout. Si tu as ^ dans votre rxjs-compat cela peut poser problème. Sans le curseur, c'est-à-dire rxjs-compat": "6.3.3" ça a marché pour moi. Reportez-vous https://github.com/ReactiveX/rxjs/issues/4512 . Merci

7
Abhishek Prabhat

J'ai fait face au même problème. Mais, cela est résolu lorsque j'ai utilisé les versions ci-dessous de rxjs et rxjs-compat dans le package.json. ---> "rxjs": "6.3.3", ---> "rxjs-compat": "6.3.3"

0
Akshay Tinku

Je travaillais avec Angular 6 et le problème a été résolu en supprimant

import 'rxjs/Rx';

de mon code.

0
Siddharth

npm install [email protected] --s

la commande ci-dessus a résolu le problème my

0
user1482689

Dans le fichier package.json, remplacez "rxjs-compat": "^ 6.4.0" => "rxjs-compat": "^ 6.3.3" et exécutez la commande

npm install
0
PrAvin Banjade

J'ai obtenu cette erreur en important Observable depuis rxjx/Rx - l'importer depuis rxjs a résolu le problème.

Mes versions étaient

"rxjs": "~6.2.0",
"rxjs-compat": "^6.0.0",

Je n'ai pas eu besoin de les changer, il suffit de changer l'importation depuis

importer {Observable} depuis 'rxjs/Rx';

à

importer {Observable} depuis 'rxjs';

0
John Mann