You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 7.2升级至8.x后执行ng build报Unknown version 67 of android错误排查

问题原因分析

这个报错本质上是Browserslist工具的版本与配置不兼容导致的,和Angular升级后的依赖变化直接相关:

  • Browserslist是前端项目中用来定义目标浏览器范围的工具,Angular构建过程中会借助它(配合autoprefixer等工具)处理CSS前缀、JS语法降级等操作。
  • 错误里提到的「Unknown version 67 of android」,核心问题在于:原生Android浏览器的最高版本仅到4.4,而Chrome for Android的版本号是独立的,旧版本的Browserslist无法识别android 67这种写法——正确的Chrome for Android标识应该是and_chr 67。
  • 升级Angular 8后,项目依赖的autoprefixer或@angular-devkit/build-angular可能更新了对Browserslist的依赖要求,如果你的项目Browserslist配置还是旧写法,或者Browserslist版本过旧,就会触发这个解析错误。
排查与解决步骤

按照以下顺序逐步排查,基本能解决问题:

  • 检查并修正Browserslist配置
    查看项目根目录下的.browserslistrc文件,或者package.json中的browserslist字段,寻找是否有android 67这类配置项。如果有,将其替换为标准的and_chr 67。
    示例修改:
    // 原错误配置
    > 1%
    last 2 versions
    android 67
    
    // 修改后
    > 1%
    last 2 versions
    and_chr 67
    
  • 更新Browserslist依赖版本
    执行命令更新Browserslist到兼容版本:
    npm update browserslist
    # 或者用yarn
    yarn upgrade browserslist
    
  • 清理缓存并重装依赖
    清理Angular构建缓存,避免旧配置残留:
    ng cache clean
    
    然后删除node_modules、package-lock.json(或yarn.lock),重新安装依赖:
    rm -rf node_modules package-lock.json
    npm install
    
  • 验证相关依赖兼容性
    检查package.json中autoprefixer和@angular-devkit/build-angular的版本,确保它们与Angular 8的版本匹配。如果版本偏差较大,可以手动指定兼容版本后重新安装(比如Angular 8对应的@angular-devkit/build-angular版本建议在0.8xx系列)。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:03:19