ОШИБКА в node_modules / rxjs-compat / operator / shareReplay.d.ts (2,10): ошибка TS2305: - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь обновить базовое приложение углового скелета с углового 5 до углового 6, и вот проблема, с которой я сталкиваюсь при попытке запустить приложение:

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'.

Вот мой 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"
 }
}

Я не получаю эту ошибку при использовании машинописи 3.3.1, но не могу использовать ее, так как компилятор будет разрешать мне только до машинописи

Какие шаги я могу предпринятьздесь?

РЕДАКТИРОВАТЬ:

Я выровнял версии rxjs и rxjs-compat по 6.3.3, но теперь я получаю следующую ошибку:

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

Ответы [ 6 ]

0 голосов
/ 09 августа 2019

Я работал с Angular 6, и проблема была решена путем удаления

import 'rxjs/Rx';

из моего кода.

0 голосов
/ 03 марта 2019

У меня была такая же проблема для проекта, где версии rxjs и rxjs-compat в файле package.json отличались от rxjs = "6.3.3" и rxjs-compat = "6.4.0", поэтому я просто понизил версию rxjs-сравнить версию с помощью следующей команды:

npm install rxjs-compat@6.3.3 --s

у меня это сработало.

0 голосов
/ 23 февраля 2019

Я столкнулся с идентичной проблемой с "rxjs": "6.3.3","rxjs-compat": "6.4.0" и, несмотря на переход на версию ^6.3.3, ошибка осталась.Просто небольшое дополнение.Если у вас ^ в вашем rxjs-compat, это может вызвать проблемы.Без каретки, т.е. rxjs-compat": "6.3.3" у меня сработало.См. https://github.com/ReactiveX/rxjs/issues/4512. Спасибо

0 голосов
/ 14 февраля 2019

У меня была такая же проблема, мне пришлось понизить rxjs-compat (6.3.3), чтобы выровнять его с rxjs (6.3.3),

В вашем package.json это должно выглядеть так:

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

Если вы используете rxjs 6.4.0, вам не нужно использовать rxjs-compat, который обеспечивает уровень совместимости между rxjs v6 и v5.

Так что я думаю, что вы можете напрямую использоватьimport {shareReplay} из 'rxjs / operator';

Подробнее об операторах здесь: https://www.learnrxjs.io/

0 голосов
/ 11 февраля 2019

Я столкнулся с подобной проблемой.Но это решается, когда я использовал приведенные ниже версии rxjs и rxjs-compat в package.json.---> "rxjs": "6.3.3", ---> "rxjs-compat": "6.3.3"

0 голосов
/ 10 февраля 2019

В редакторе файла package.json замените "rxjs-compat": "^ 6.4.0" => "rxjs-compat": "^ 6.3.3" и выполните команду

npm install
...