Angularのnpm startでエラーが発生した


現在、Udemy の Angular の講座を受講しているのですが、サンプルアプリケーションでエラーが発生してしまいました。

www.udemy.com

以下が発生したエラーです。

$ npm start

> angular-quickstart@1.0.0 prestart /Users/xxx/Desktop/quickstart
> npm run build


> angular-quickstart@1.0.0 build /Users/xxx/Desktop/quickstart
> tsc -p src/

node_modules/@types/selenium-webdriver/index.d.ts(828,19): error TS1005: ',' expected.
node_modules/@types/selenium-webdriver/index.d.ts(828,33): error TS1005: ',' expected.
node_modules/@types/selenium-webdriver/index.d.ts(855,19): error TS1005: ',' expected.
node_modules/@types/selenium-webdriver/index.d.ts(986,19): error TS1005: ',' expected.
node_modules/@types/selenium-webdriver/index.d.ts(986,33): error TS1005: ',' expected.
node_modules/@types/selenium-webdriver/index.d.ts(1011,19): error TS1005: ',' expected.
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! angular-quickstart@1.0.0 build: `tsc -p src/`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the angular-quickstart@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/xxx/.npm/_logs/2018-10-12T08_48_35_997Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! angular-quickstart@1.0.0 prestart: `npm run build`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the angular-quickstart@1.0.0 prestart script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/xxx/.npm/_logs/2018-10-12T08_48_36_031Z-debug.log

調べてみたところ、TypeScript のバージョンが古いのが原因の模様です。

package.jsonの TypeScript のバージョンを最新バージョンに変更します。

"typescript": "~2.1.0"
↓
"typescript": "~3.1.3"

それで、npm install を実行後にnpm startを実行すると、今度は以下のようなエラーが発生しました。

node_modules/rxjs/Subject.d.ts:24:5 - error TS2416: Property 'lift' in type 'Subject<T>' is not assignable to the same property in base type 'Observable<T>'.
  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'.

24     lift<R>(operator: Operator<T, R>): Observable<T>;

今度は、RxJs のバージョンが古い模様。pakage.jsonのRxJs 5.x の最新バージョンに変更します。

"rxjs": "5.0.1",
↓
"rxjs": "5.5.12",

npm install を実行後にnpm startを実行すると、今度はエラーが発生せず、問題解消しました。