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

Angular 8库构建报错:BrowserslistError: Unknown version 67 of android

解决Angular 8库构建时的Browserslist Android 67版本错误

问题原因分析

从你给出的错误日志和依赖信息来看,这个问题的核心是**browserslist版本不支持Android 67这个浏览器版本号**,同时还伴随package.json解析失败的警告——这大概率是配置格式问题或依赖冲突导致的解析异常。

是否由autoprefixer导致?

是的,但属于间接原因。autoprefixer本身需要依赖browserslist来确定需要兼容的浏览器范围,而你当前使用的autoprefixer@9.5.1依赖的是browserslist@^4.5.4——这个版本的browserslist还未收录Android 67的版本信息,当autoprefixer调用它处理浏览器兼容规则时,就会抛出“Unknown version 67 of android”的错误。

具体解决步骤

我整理了几个可行的解决方案,你可以按顺序尝试:

1. 先修复package.json的解析问题

首先排查你的package.json是否存在语法错误(比如遗漏逗号、引号不匹配、格式错乱),这是导致[Browserslist] Could not parse package.json警告的常见原因。你可以直接用编辑器的语法检查功能,或者通过npx jsonlint package.json命令来校验并修复。

2. 强制升级browserslist版本

由于你的ng-packagr@5.5.1依赖的autoprefixer版本锁定了browserslist的范围,你可以通过npm的overrides字段(npm 8+支持)或者yarn的resolutions字段,强制指定一个支持Android 67的browserslist版本(比如4.16.6,这个版本已经收录了Android 67的信息)。

在package.json中添加以下配置:

"overrides": {
  "ng-packagr": {
    "autoprefixer": {
      "browserslist": "4.16.6"
    }
  }
}

然后执行以下命令重新安装依赖:

rm -rf node_modules package-lock.json
npm install

3. 调整browserslist的兼容配置

检查项目根目录的.browserslistrc文件,或者package.json中的browserslist字段,看是否直接指定了android 67这类具体版本。如果有的话,将其修改为browserslist支持的范围表达式,比如:

last 2 Android versions
> 1% in your-region

或者更通用的配置:

last 2 versions
> 1%
not dead

4. 升级ng-packagr到兼容的小版本

Angular 8对应的ng-packagr最新小版本是5.7.1,这个版本的依赖链中,autoprefixer和browserslist的版本已经更新,能够兼容更高版本的Android浏览器。你可以修改package.json中的ng-packagr版本为^5.7.1,然后重新安装依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:11:09