运行Angular项目执行ng serve报错找不到项目定义,尝试常用方法仍无法解决
报错解决方法
根因说明
这个报错的核心是Angular CLI没有在当前执行命令的目录下识别到合法的Angular项目配置文件,按以下步骤排查即可:
第一步:确认执行路径正确
执行ng serve的目录必须是项目根目录,根目录下必须存在angular.json(Angular 6及以上版本)或者.angular-cli.json(Angular 1.x-5.x版本)文件,不要在项目的子目录或者上级目录执行启动命令。如果当前目录确实没有这两个配置文件,要么是你路径切换错误,要么是当前项目本身不是通过Angular CLI初始化的项目,无法直接使用ng serve命令启动。第二步:配置文件存在仍报错的修复步骤
- 先彻底卸载全局和本地的Angular CLI残留:
npm uninstall -g @angular/cli npm uninstall @angular/cli
- 清理npm缓存:
npm cache clean --force
- 安装和项目版本匹配的Angular CLI:
不要直接安装@latest版本的CLI,高版本CLI和低版本Angular项目互不兼容。如果你使用的是Angular 1.x版本,要对应安装1.x版本的CLI,示例命令:npm install -g @angular/cli@1.7.4,和项目版本匹配后再进行后续操作。 - 回到项目根目录重新安装所有依赖:
rm -rf node_modules package-lock.json npm install
- 执行
ng version验证配置是否正常,如果能正常输出当前项目的Angular、CLI版本信息,再执行ng serve即可正常启动。
- 特殊情况处理
如果以上步骤执行后仍报错,可以用对应版本的Angular CLI重新初始化一个空白项目,将现有业务代码迁移到新项目中即可解决配置异常问题。
内容的提问来源于stack exchange,提问作者Rimon Rappel
相关产品推荐
相关产品推荐

