升级Angular CLI后执行ng new命令失败:找不到ng-new schematic
解决Angular CLI升级后
ng new报错找不到"Schematic 'ng-new'"的问题 我之前也碰到过一模一样的问题!升级Angular CLI到最新版本后,执行ng new app-name时就弹出这个找不到schematics的错误,折腾了好几种方法终于搞定,给你分享几个可行的解决方案:
方案1:清理缓存并重新安装Angular CLI
这是最常见的解决办法,大概率能搞定:
- 先卸载全局的Angular CLI:
npm uninstall -g @angular/cli - 清理npm的缓存(强制清理避免残留):
npm cache clean --force - 重新安装最新版的全局Angular CLI:
npm install -g @angular/cli@latest - 如果是在已有项目中遇到这个问题,还要进入项目目录,卸载本地CLI并重新安装:
npm uninstall @angular/cli npm install @angular/cli@latest --save-dev
方案2:检查全局npm包路径
有时候系统环境变量没包含npm全局包路径,会导致CLI无法找到schematics:
- 先查看全局Angular CLI的安装路径:
npm list -g @angular/cli - 确认这个路径(一般是
npm root -g输出的路径)在你的系统PATH环境变量中:- Windows:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量的
PATH中添加该路径 - Mac/Linux:编辑
~/.bashrc或~/.zshrc文件,添加export PATH="$PATH:你的全局npm路径",然后执行source ~/.bashrc(或对应的配置文件)生效
- Windows:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量的
方案3:单独更新@schematics/angular包
报错提示找不到@schematics/angular里的ng-new,可能是这个包没同步升级:
- 直接安装最新版的全局schematics包:
npm install -g @schematics/angular@latest - 安装完成后再尝试执行
ng new app-name
方案4:极端情况——清理项目依赖(针对已有项目)
如果上面的方法都没用,可能是项目依赖出现了冲突:
- 进入项目目录,删除
node_modules文件夹和package-lock.json(或yarn.lock):# Windows rmdir /s /q node_modules del package-lock.json # Mac/Linux rm -rf node_modules package-lock.json - 重新安装所有依赖:
npm install
可能的原因
这个错误通常是升级过程中缓存损坏、全局与本地CLI版本不匹配,或者@schematics/angular包没有同步更新导致的,上面的方法基本能覆盖大部分场景。
内容的提问来源于stack exchange,提问作者John Smith
相关产品推荐
相关产品推荐

