Angular/Material无法正常运行问题求助
问题排查与解决方案
兄弟,你遇到的这个报错根源非常明确——Angular核心版本和Angular Material/CDK版本完全不兼容!
问题分析
你当前项目的Angular核心版本是5.2.10,但你安装的@angular/material和@angular/cdk都是6.0.1。Angular Material的版本是严格和Angular核心版本绑定的:
- Angular 5.x 必须搭配 Angular Material 5.x
- Angular 6.x 才对应 Angular Material 6.x
高版本的Material依赖了Angular 6新增的API,在Angular 5环境下运行自然会抛出Object(...) is not a function这类兼容性错误。
具体修复步骤
- 先卸载当前不兼容的高版本Material和CDK:
npm uninstall @angular/material @angular/cdk
- 安装与你Angular 5.2.10完全匹配的Material/CDK版本:
npm install --save @angular/material@5.2.10 @angular/cdk@5.2.10
- 打开你的
package.json,确认所有Angular相关依赖(包括@angular/material、@angular/cdk、@angular/core、@angular/animations等)的版本号统一为5.2.x系列,避免出现版本不一致的情况。
额外提示
你的全局Angular CLI是6.0.0,但本地项目使用的是1.7.4(对应Angular 5),这个是正常的——Angular会优先使用项目本地的CLI版本。如果之后你打算升级整个项目到Angular 6,记得要先升级项目的Angular CLI和所有核心依赖包,再同步升级Material/CDK,始终保持版本对齐。
内容的提问来源于stack exchange,提问作者sander
相关产品推荐
相关产品推荐

