Angular 16.2新建项目执行ng serve报错:未知浏览器查询
问题原因分析
- 错误提示中的
basedir=$(dirname "$(echo "$0" | sed -e 's是一段shell脚本代码片段,并非合法的Browserslist浏览器查询规则,说明你的运行环境存在污染Browserslist配置的情况。 - 项目本地配置无问题:从你提供的package.json内容来看,项目内的browserslist配置是Angular默认的合法规则,排除项目自身配置错误的可能。
- 污染来源大概率是以下两种情况之一:
- 系统环境变量
BROWSERSLIST被错误设置为这段shell代码,导致Browserslist读取到非法的查询规则。 - 全局Browserslist配置文件(比如用户根目录下的
.browserslistrc或全局package.json)中存在错误配置内容。
- 系统环境变量
验证与修复建议
- 检查环境变量:在终端执行
echo $BROWSERSLIST,如果输出为上述shell代码,执行unset BROWSERSLIST清除该变量,之后重新运行ng serve。 - 若环境变量正常,检查用户根目录下的
.browserslistrc文件,删除其中的错误内容;同时检查根目录的全局package.json,确认其中的browserslist字段无非法配置。
内容的提问来源于stack exchange,提问作者Zvi Vered
相关产品推荐
相关产品推荐

