Angular 6项目执行及npm install报错求助:模块缺失与校验失败
我之前在维护Angular 6项目的时候也碰到过几乎一模一样的问题,结合你的环境和报错情况,给你整理几个针对性的解决步骤,你可以挨个试试:
解决Angular 6中找不到
@angular-devkit/build-angular及npm安装报错的方案 1. 精准安装对应版本的依赖包
Angular CLI 6.0.1必须搭配特定版本的@angular-devkit/build-angular才能正常工作,对应的版本是0.6.1,不要盲目安装最新版,直接指定版本安装:
npm install @angular-devkit/build-angular@0.6.1 --save-dev
如果安装时还是报错,可以加上--force参数强制安装(Node 8不支持--legacy-peer-deps,优先用这个):
npm install @angular-devkit/build-angular@0.6.1 --save-dev --force
2. 彻底清理本地依赖与npm缓存
你之前试过清缓存,但可能没做彻底,试试这套完整的清理流程:
- 删除本地的
node_modules文件夹和package-lock.json文件:# Linux/macOS系统 rm -rf node_modules package-lock.json # Windows命令行 rd /s /q node_modules && del package-lock.json - 清理并验证npm缓存:
npm cache clean --force npm cache verify - 重新安装所有依赖:
npm install
3. 解决EINTEGRITY校验失败问题
这个错误大多是缓存包损坏或者npm源不稳定导致的,你可以切换npm源试试:
- 切换到官方源:
npm config set registry https://registry.npmjs.org/ - 或者国内更稳定的淘宝镜像:
npm config set registry https://registry.npmmirror.com/
切换源后记得删除package-lock.json再执行npm install,因为旧锁文件里的校验和可能和新源的包不匹配。
4. 关于fsevents可选依赖跳过的说明
这个提示完全不用在意,fsevents是macOS系统特有的可选依赖,在Windows或Linux环境下安装时会自动跳过,属于正常提示,不是导致你问题的原因。
5. 同步全局与项目的Angular CLI版本
如果上面的步骤都没用,可以尝试重新安装对应版本的Angular CLI,并同步项目配置:
# 卸载全局旧版本 npm uninstall -g @angular/cli # 安装指定版本的CLI npm install -g @angular/cli@6.0.1 # 在项目目录下同步配置 ng update @angular/cli --migrate-only --from=6.0.1
如果以上步骤都无效,你可以手动检查项目根目录的package.json,确认devDependencies里是否有@angular-devkit/build-angular,如果没有的话,手动添加这一行再执行npm install:
"@angular-devkit/build-angular": "~0.6.1"
内容的提问来源于stack exchange,提问作者Fernando Paz
相关产品推荐
相关产品推荐

