目录
一、背景描述
最近在windows系统中修改一个antd前端项目代码时,首先需要在本地通过npm install安装项目依赖包,由于是一个几年前的项目,运行各种install是,如“npm install”、“yarn”,“cnpm install”、“pnpm install”等,都会报错Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest,并一直卡死在install进程中,等待很长时间也没有任务反应。
二、问题分析
通过垃圾一样的度娘搜索,找到不少文章,都做过尝试,问题依然无法解决。最后没招了,通过源代码搜索到输出这行提示信息的源代码,找到了有一个全局参数设置后,可以取消这个过期信息的验证过程。查询到的代码如下:
if (process.env.BROWSERSLIST_IGNORE_OLD_DATA) return
三、解决方案
我们可以通过设置操作系统环境变量“BROWSERSLIST_IGNORE_OLD_DATA”为true来绕过这个可恶的验证过程,从而可以成功运行install安装过程。
Windows下,在运行“npm install”命令前运行或添加下面的设置变量脚本:
set BROWSERSLIST_IGNORE_OLD_DATA=true
Linux或Mac系统下,可以运行下面的设置变量脚本:
export BROWSERSLIST_IGNORE_OLD_DATA=true