Angular 9项目失败 尝试编译可在Angular 8中使用的代码。
node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11)中的错误:错误TS2451:无法重新声明块作用域变量'ngDevMode'。 ../../../node_modules/@angular/core/src/application_ref.d.ts(8,28):错误TS2307:找不到模块“ rxjs”。 ../../../node_modules/@angular/core/src/event_emitter.d.ts(8,39):错误TS2307:找不到模块“ rxjs”。 ../../../node_modules/@angular/core/src/linker/query_list.d.ts(8,28):错误TS2307:找不到模块'rxjs'。 ../../../node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11):错误TS2451:无法重新声明块作用域变量'ngDevMode'。 ../../../node_modules/@angular/core/src/util/lang.d.ts(8,28):错误TS2307:找不到模块“ rxjs”。 ../../../node_modules/@angular/http/src/backends/jsonp_backend.d.ts(8,28):错误TS2307:找不到模块'rxjs'。 ../../../node_modules/@angular/http/src/backends/xhr_backend.d.ts(8,28):错误TS2307:找不到模块'rxjs'。 ../../../node_modules/@angular/http/src/http.d.ts(8,28):错误TS2307:找不到模块“ rxjs”。
我将问题隔离到正在加载的服务上。
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable, throwError } from 'rxjs';
import { map, takeUntil, tap, catchError } from 'rxjs/operators';
import * as Global from './global';
import { HttpClient } from '@angular/common/http';
import { HttpHeaders } from '@angular/common/http';
import { HttpErrorResponse } from '@angular/common/http';
我的package.json
{
"name": "f202",
"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/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"bootstrap": "^4.4.1",
"jquery": "^3.4.1",
"popper.js": "^1.16.1",
"rxjs": "^6.5.4",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.13.0",
"@angular/cli": "~7.3.9",
"@angular/compiler-cli": "~7.2.0",
"@angular/language-service": "~7.2.0",
"@types/node": "~8.9.4",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"codelyzer": "~4.5.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.11.0",
"typescript": "~3.2.2"
}
}
还尝试了通常的升级打字稿,rxjs和角度组件的混合操作。
任何帮助将不胜感激!
------------------ UPDATE -------------
是的,@ phix在第二条评论中是完全正确的,它仍然是版本7。 我假设将全局更新( npm install @ angular / cli @ 9.0.0 -g )升级到9,然后创建一个项目将自动创建版本9项目-错误的假设。
我使用该信息正确升级了我的项目 https://levelup.gitconnected.com/upgrade-to-angular-9-within-10-minutes-671c6fd6174b