Saya mengekstrak kode contoh template dari tutorial ini dan melakukan dua langkah di bawah ini untuk memulai -
npm install // worked fine and created node_modules folder with all dependencies
npm start
// gagal dengan kesalahan di bawah ini-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 '<T, 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'. npm ERR! code ELIFECYCLE npm ERR! errno 2
Saya melihat bahwa di subject.d.ts declaration of lift adalah seperti di bawah ini -
lift<T, R>(operator: Operator<T, R>): Observable<T>;
Dan di Observable.ts itu didefinisikan sebagai di bawah ini-
lift<R>(operator: Operator<T, R>): Observable<R> {
Catatan: - 1. Saya baru mengenal Angular2 dan mencoba memahami berbagai hal.
Kesalahan mungkin disebabkan oleh definisi metode pengangkatan yang tidak kompatibel
Saya membaca utas github ini
Jika saya perlu menginstal beberapa versi rxjs yang berbeda, mohon beri tahu cara menghapus dan menginstal rxjs yang benar.
Sunting1: Saya mungkin agak terlambat dalam menanggapi di sini tapi saya masih mendapatkan kesalahan yang sama bahkan setelah menggunakan skrip 2.3.4 atau rxjs 6 alpha . Di bawah ini adalah package.json saya,
{
"name": "angular-quickstart",
"version": "1.0.0",
"scripts": {
"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
"lite": "lite-server",
"postinstall": "typings install",
"tsc": "tsc",
"tsc:w": "tsc -w",
"typings": "typings"
},
"license": "ISC",
"dependencies": {
"@angular/common": "2.0.0",
"@angular/compiler": "2.0.0",
"@angular/core": "2.0.0",
"@angular/forms": "2.0.0",
"@angular/http": "2.0.0",
"@angular/platform-browser": "2.0.0",
"@angular/platform-browser-dynamic": "2.0.0",
"@angular/router": "3.0.0",
"@angular/upgrade": "2.0.0",
"core-js": "^2.4.1",
"reflect-metadata": "^0.1.3",
"rxjs": "6.0.0-alpha.0",
"systemjs": "0.19.27",
"zone.js": "^0.6.23",
"angular2-in-memory-web-api": "0.0.20",
"bootstrap": "^3.3.6"
},
"devDependencies": {
"concurrently": "^2.2.0",
"lite-server": "^2.2.2",
"typescript": "2.3.4",
"typings": "^1.3.2"
}
}