Класс 'Subject‹T›' неправильно расширяет базовый класс 'Observable‹T› Ошибка ящика навигации Nativescript

# Это ошибка, с которой я столкнулся сейчас:

я загрузил образец навигационного ящика с помощью npm (https://github.com/shripalsoni04/nativescript-angular-drawer-template). но выдает следующую ошибку.

dhrn@dhrn-Inspiron-5548:~/NativeApp/Supervisor$ tns run android

Searching for devices...
iTunes is not available for this operating system. You will not be able to work with connected iOS devices.
Executing before-prepare hook from /home/dhrn/NativeApp/Supervisor/hooks/before-prepare/nativescript-dev-typescript.js
Found peer TypeScript 2.4.1
node_modules/rxjs/Subject.d.ts(16,22): error TS2415: Class 'Subject<T>' incorrectly extends base class 'Observable<T>'.
  Types of property 'lift' are incompatible.
    Type '<R>(operator: Operator<T, R>) => Observable<T>' is not assignable to type '<R>(operator: Operator<T, R>) => Observable<R>'.
      Type 'Observable<T>' is not assignable to type 'Observable<R>'.
        Type 'T' is not assignable to type 'R'.

node_modules/tns-core-modules/ui/core/properties/properties.d.ts(48,14): error TS2559: Type 'Property<T, U>' has no properties in common with type 'TypedPropertyDescriptor<U>'.

node_modules/tns-core-modules/ui/core/properties/properties.d.ts(59,14): error TS2559: Type 'CoercibleProperty<T, U>' has no properties in common with type 'TypedPropertyDescriptor<U>'.

Unable to apply changes on device: 192.168.56.101:5555. Error is: TypeScript compiler failed with exit code 1.


```
**My configuration:**

```
{
    "description": "NativeScript Application",
    "license": "SEE LICENSE IN <your-license-filename>",
    "readme": "NativeScript Application",
    "repository": "<fill-your-repository-here>",
    "nativescript": {
        "id": "org.nativescript.supervisor",
        "tns-android": {
            "version": "3.1.1"
        }
    },
    "dependencies": {
        "@angular/common": "~4.0.0",
        "@angular/compiler": "~4.0.0",
        "@angular/core": "~4.0.0",
        "@angular/forms": "~4.0.0",
        "@angular/http": "~4.0.0",
        "@angular/platform-browser": "~4.0.0",
        "@angular/platform-browser-dynamic": "~4.0.0",
        "@angular/router": "~4.0.0",
        "nativescript-angular": "~3.0.0",
        "nativescript-telerik-ui": "^2.0.1",
        "nativescript-theme-core": "~1.0.4",
        "reflect-metadata": "~0.1.8",
        "rxjs": "~5.2.0",
        "tns-core-modules": "~3.0.0",
        "zone.js": "0.8.2"
    },
    "devDependencies": {
        "babel-traverse": "6.18.0",
        "babel-types": "6.18.0",
        "babylon": "6.13.1",
        "lazy": "1.0.11",
        "nativescript-dev-typescript": "^0.4.0",
        "typescript": "^2.3.2",
        "zone.js": "~0.7.2"
    }
}

Конфигурация проекта:

dhrn@dhrn-Inspiron-5548:~/NativeApp/Supervisor$ tns info 
All NativeScript components versions information
┌──────────────────┬─────────────────┬────────────────┬───────────────┐
│ Component        │ Current version │ Latest version │ Information   │
│ nativescript     │ 3.1.1           │ 3.1.1          │ Up to date    │
│ tns-core-modules │ 3.1.0           │ 3.1.0          │ Up to date    │
│ tns-android      │ 3.1.1           │ 3.1.1          │ Up to date    │
│ tns-ios          │                 │ 3.1.0          │ Not installed │
└──────────────────┴─────────────────┴────────────────┴───────────────┘

Пожалуйста, помогите мне решить эту проблему.


person Dharan G    schedule 30.06.2017    source источник
comment
Возможный дубликат Как мне обойти это Тема неправильно расширяет ошибку Observable в TypeScript 2.4 и RxJS 5.x?   -  person Daniel Rosenwasser    schedule 30.06.2017
comment
Похоже на дубликат stackoverflow.com/questions/44810195/. Вы можете обойти это с помощью опции компилятора noStrictGenericChecks.   -  person Daniel Rosenwasser    schedule 30.06.2017


Ответы (2)


Есть некоторые проблемы с обновлением Microsoft/Typescript 2.4.1 .
Судя по обсуждению на этой странице вопросов, вам нужно использовать

введите описание изображения здесь
configuration. Убедитесь, что у вас на самом деле typescript 2.4.0 установлен.
Его можно загрузить с сайта здесь< /а>

person Irfan    schedule 01.07.2017
comment
Мне нужно было использовать typescript 2.3.4 - person ya man; 03.07.2017
comment
я получаю новую ошибку -› node_modules/tns-core-modules/ui/core/properties/properties.d.ts(48,14): ошибка TS2559: Тип «Свойство‹T, U›» не имеет общих свойств с типом 'TypedPropertyDescriptor‹U›'. node_modules/tns-core-modules/ui/core/properties/properties.d.ts(59,14): ошибка TS2559: тип «CoercibleProperty‹T, U›» не имеет общих свойств с типом «TypedPropertyDescriptor‹U›» . - person Dharan G; 04.07.2017
comment
@DharanG вы уверены, что сейчас не ссылаетесь на версию Typescipt 2.4.1 ..? Убедитесь, что номер версии не содержит "^ or ~ " в package.json (как для rxjs:, так и для typescript: ), в этом случае он будет обновляться и/или указывать на их более высокие версии, а не на конкретную. Посмотрите здесь - person Irfan; 05.07.2017

попробуйте этот tsconfig.json

В RxJS 6 это будет исправлено, но в качестве временного решения вы можете использовать параметр компилятора noStrictGenericChecks.

"noStrictGenericChecks": правда

{
  "compileOnSave": true,
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [ "es2015", "dom" ],
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true,
    "noStrictGenericChecks": true 
  }
}
person Sanjay kumar    schedule 20.07.2017