Angular 6.0.1升级后执行ng serve报错:找不到@angular-devkit/build-angular
解决Angular 6升级后
ng serve找不到@angular-devkit/build-angular的问题 我之前升级旧Angular项目到6.x版本时也碰到过一模一样的问题,这个错误核心原因是:Angular CLI 6+ 开始依赖@angular-devkit/build-angular作为核心构建工具,但你的项目在从ng2-admin(Angular4)升级过程中,这个关键依赖没有被正确安装或版本不匹配,而ng update可能因为旧第三方依赖的兼容性冲突,没能自动补全这个依赖。
下面是一步步的解决方法:
1. 对齐全局与本地CLI版本
首先确保全局Angular CLI版本和项目使用的6.0.1一致,避免版本冲突:
# 卸载全局旧版CLI npm uninstall -g @angular/cli # 安装与项目匹配的6.0.1版本CLI npm install -g @angular/cli@6.0.1
然后在项目本地安装对应版本的@angular-devkit/build-angular(注意:Angular CLI 6.x对应这个包的版本是0.6.x,CLI 6.0.1对应0.6.1):
npm install --save-dev @angular-devkit/build-angular@0.6.1
2. 清理缓存并重装依赖
如果上面的操作没解决问题,大概率是缓存或依赖锁文件导致的异常:
# 强制清理npm缓存 npm cache clean --force # 删除本地依赖文件夹和锁文件 rm -rf node_modules package-lock.json # 重新安装所有依赖 npm install
3. 手动检查package.json配置
确保你的devDependencies中已经包含正确版本的构建依赖,如果没有的话手动添加:
"devDependencies": { // ... 其他已存在的依赖 "@angular-devkit/build-angular": "~0.6.1", // ... 其他已存在的依赖 }
完成以上步骤后,再运行ng serve应该就能正常启动项目了。这类问题大多出现在旧项目跨版本升级场景中,因为Angular CLI的构建体系在6.x版本有较大调整,而部分旧第三方依赖(比如你项目里的ng2-ckeditor、angular2-datatable)可能干扰了自动升级流程,导致核心构建依赖缺失。
内容的提问来源于stack exchange,提问作者ForestG
相关产品推荐
相关产品推荐

