Class 'Subject' incorrectly extends bas

2019-06-17 11:03发布

问题:

# This is the error I am facing now:

i downloaded navigation drawer sample using npm (https://github.com/shripalsoni04/nativescript-angular-drawer-template). but it gives the following error.

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"
    }
}

Project Configuration:

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 │
└──────────────────┴─────────────────┴────────────────┴───────────────┘

Please kindly help me to fix this issue .

回答1:

There are some issues with Microsoft/Typescript 2.4.1 update.
From the discussion in this issues page, it seems you need to use


configuration. Make sure, you actually have typescript 2.4.0 installed.
You can download it from here



回答2:

try this tsconfig.json

RxJS 6 will have this fixed, but as a temporary workaround, you can use the noStrictGenericChecks compiler option

"noStrictGenericChecks": true

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