无法解析 'rxjs/Observable'
Can't resolve 'rxjs/Observable'
我刚刚尝试将一个旧的 Angular 7 项目升级到 Angular 8,但我遇到了一个奇怪的 Rxjs 依赖问题。 Npm install 运行正常但在尝试启动应用程序时我得到以下信息 -
ERROR in ../node_modules/@angular/core/@angular/core.js
Module not found: Error: Can't resolve 'rxjs/Observable' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\core\@angular'
ERROR in ../node_modules/@angular/http/@angular/http.js
Module not found: Error: Can't resolve 'rxjs/Observable' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\http\@angular'
ERROR in ../node_modules/@angular/core/@angular/core.js
Module not found: Error: Can't resolve 'rxjs/Subject' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\core\@angular'
ERROR in ../node_modules/@angular/forms/@angular/forms.js
Module not found: Error: Can't resolve 'rxjs/observable/forkJoin' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\forms\@angular'
ERROR in ../node_modules/@angular/forms/@angular/forms.js
Module not found: Error: Can't resolve 'rxjs/observable/fromPromise' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\forms\@angular'
ERROR in ../node_modules/@angular/core/@angular/core.js
Module not found: Error: Can't resolve 'rxjs/observable/merge' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\core\@angular'
ERROR in ../node_modules/@angular/forms/@angular/forms.js
Module not found: Error: Can't resolve 'rxjs/operator/map' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\forms\@angular'
ERROR in ../node_modules/@angular/core/@angular/core.js
Module not found: Error: Can't resolve 'rxjs/operator/share' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\core\@angular'
我的package.json是这样的-
"dependencies": {
"@angular-devkit/schematics": "^13.0.3",
"@angular/animations": "8.2.14",
"@angular/cdk": "^8.2.3",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/material": "^8.2.3",
"@angular/material-moment-adapter": "^8.2.0",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
...
"rxjs": "^6.5.3",
"rxjs-compat": "^6.5.3",
...
}
有人遇到过这个吗?
这是 Angular 8 和 RxJS 之间的依赖对齐问题,因此,要解决它,您需要将 rxjs 版本从 6.5.3 降级到 6.4.0。
npm i rxjs@6.4.0
这是package.json文件
"dependencies": {
"@angular-devkit/schematics": "^8.2.2",
"@angular/animations": "~8.2.14",
"@angular/cdk": "^8.2.3",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/material": "^8.2.3",
"@angular/material-moment-adapter": "^8.2.3",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
"rxjs": "~6.4.0",
"rxjs-compat": "^6.4.0",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
}
Stackblitz link project angular8-rxjs
希望我们的回复有用且写得清楚。
我刚刚尝试将一个旧的 Angular 7 项目升级到 Angular 8,但我遇到了一个奇怪的 Rxjs 依赖问题。 Npm install 运行正常但在尝试启动应用程序时我得到以下信息 -
ERROR in ../node_modules/@angular/core/@angular/core.js
Module not found: Error: Can't resolve 'rxjs/Observable' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\core\@angular'
ERROR in ../node_modules/@angular/http/@angular/http.js
Module not found: Error: Can't resolve 'rxjs/Observable' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\http\@angular'
ERROR in ../node_modules/@angular/core/@angular/core.js
Module not found: Error: Can't resolve 'rxjs/Subject' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\core\@angular'
ERROR in ../node_modules/@angular/forms/@angular/forms.js
Module not found: Error: Can't resolve 'rxjs/observable/forkJoin' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\forms\@angular'
ERROR in ../node_modules/@angular/forms/@angular/forms.js
Module not found: Error: Can't resolve 'rxjs/observable/fromPromise' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\forms\@angular'
ERROR in ../node_modules/@angular/core/@angular/core.js
Module not found: Error: Can't resolve 'rxjs/observable/merge' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\core\@angular'
ERROR in ../node_modules/@angular/forms/@angular/forms.js
Module not found: Error: Can't resolve 'rxjs/operator/map' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\forms\@angular'
ERROR in ../node_modules/@angular/core/@angular/core.js
Module not found: Error: Can't resolve 'rxjs/operator/share' in 'C:\Users\chris\source\repos\myapp\node_modules\@angular\core\@angular'
我的package.json是这样的-
"dependencies": {
"@angular-devkit/schematics": "^13.0.3",
"@angular/animations": "8.2.14",
"@angular/cdk": "^8.2.3",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/material": "^8.2.3",
"@angular/material-moment-adapter": "^8.2.0",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
...
"rxjs": "^6.5.3",
"rxjs-compat": "^6.5.3",
...
}
有人遇到过这个吗?
这是 Angular 8 和 RxJS 之间的依赖对齐问题,因此,要解决它,您需要将 rxjs 版本从 6.5.3 降级到 6.4.0。
npm i rxjs@6.4.0
这是package.json文件
"dependencies": {
"@angular-devkit/schematics": "^8.2.2",
"@angular/animations": "~8.2.14",
"@angular/cdk": "^8.2.3",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/material": "^8.2.3",
"@angular/material-moment-adapter": "^8.2.3",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
"rxjs": "~6.4.0",
"rxjs-compat": "^6.4.0",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
}
Stackblitz link project angular8-rxjs
希望我们的回复有用且写得清楚。