You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows环境下Angular CLI版本异常:新建项目为v5而非v7求助

Angular CLI 新建项目生成旧版本(v5而非v7)的问题排查与解决

这种情况我之前踩过同款坑,大概率是全局CLI版本冲突、缓存残留,或者Node版本不兼容导致的,下面给你拆解原因和具体解决步骤:

可能的原因

  • 旧缓存/模板残留:虽然你更新了全局CLI,但npm缓存或者本地残留的旧Angular模板文件没清理干净,ng new时优先调用了v5的模板
  • Node版本不兼容:Angular 7官方支持的Node版本是8.x和10.x,你当前用的Node 11.6.0不在支持列表里,版本不匹配可能导致CLI识别异常,进而拉取旧版本依赖
  • 多CLI实例共存:Windows系统可能存在多个全局npm包路径(比如不同用户的全局目录),ng命令实际指向的还是旧版本的CLI

具体解决步骤

1. 彻底清理全局CLI残留

  • 先卸载全局CLI:
    npm uninstall -g @angular/cli
    
  • 检查系统中ng命令的位置(Windows下):
    where ng
    
    如果输出多个路径,手动删除这些路径下的ng.cmdng.ps1以及对应的@angular相关文件夹
  • 强制清理npm缓存(比verify更彻底):
    npm cache clean --force
    
  • 手动检查用户目录下的npm全局包路径(一般是C:\Users\[你的用户名]\AppData\Roaming\npm),删除其中的@angular文件夹

2. 切换到兼容的Node版本

Angular 7不支持Node 11.x,建议用nvm-windows来管理Node版本:

  • 安装nvm-windows后,安装Node 10.x的LTS版本:
    nvm install 10.24.1
    
  • 切换到该版本:
    nvm use 10.24.1
    

3. 重新安装并验证CLI

  • 安装指定版本的Angular CLI(这里用v7,和你之前的版本一致):
    npm install -g @angular/cli@7
    
  • 验证版本:
    ng --version
    
    确认输出的Angular CLI版本为7.x

4. 强制指定版本新建项目(可选)

如果还是有问题,可以在新建项目时强制指定版本:

ng new my-new-project --skip-install --version=7

补充说明

完成以上步骤后,生成的项目package.json里的@angular/core@angular/cli等依赖版本应该就是7.x了。如果后续要升级到更高版本,记得先确认Node版本的兼容性。

内容的提问来源于stack exchange,提问作者Aw3same

火山引擎 最新活动