Angular项目构建报错TS2307:无法找到模块@angular/core
这种情况我之前开发Angular项目时也碰到过——明明改代码的时候还能正常编译,突然构建就卡在这里了,大概率是依赖缓存、版本不匹配或者构建缓存搞的鬼,给你几个按顺序尝试的解决步骤:
清理并重新安装依赖包
有时候node_modules里的依赖会出现损坏或安装不完整的情况,先彻底清理现有依赖:- Mac/Linux终端执行:
rm -rf node_modules package-lock.json - Windows命令提示符执行:
rmdir /s/q node_modules && del package-lock.json
然后重新安装依赖:npm install
- Mac/Linux终端执行:
检查Angular CDK与核心包版本是否匹配
打开项目根目录的package.json,确认@angular/cdk的版本和@angular/core、@angular/common这些核心Angular包的版本完全一致。比如如果你的@angular/core是16.2.x,那@angular/cdk也得是16.2.x,版本不匹配很容易导致模块解析失败。如果版本不一致,修改CDK的版本号后重新执行npm install。清理Angular构建缓存
Angular CLI自带的构建缓存有时候会引发奇怪的问题,执行ng cache clean(Angular 12及以上版本支持)清理缓存,然后再尝试构建:ng build检查TypeScript配置
打开tsconfig.json,查看compilerOptions里的baseUrl是否设置为"./",确保模块解析的基础路径正确。如果有自定义paths配置,也要确认没有写错路径导致无法找到@angular/core。
如果以上步骤都没解决问题,可以试试同步Angular CLI和项目的版本:先全局安装对应版本的CLI npm install -g @angular/cli@<你的项目核心包版本>,然后执行ng update @angular/cli @angular/core来更新项目依赖。
内容的提问来源于stack exchange,提问作者Berend Hulshof

