更新browserslist后caniuse-lite过时警告无法消除的Ember.js问题咨询
Ember.js 项目 caniuse-lite 过时警告解决方案
你之前的操作无效的核心原因有两个:一是你的项目使用yarn作为包管理器且开启了workspace配置,npm的更新命令无法识别yarn的锁文件和workspace规则;二是npx browserslist@latest --update-db仅更新了单处caniuse-lite,项目嵌套依赖中仍存在多个旧版本实例被调用。
可按以下步骤彻底修复:
- 清理本地缓存与重复依赖版本
执行以下命令删除冗余文件、合并锁文件中的重复依赖:rm -rf node_modules yarn.lock .yarn/cache npx yarn-deduplicate - 配置强制版本覆盖规则
在项目根目录的package.json中添加resolutions字段,固定caniuse-lite和browserslist的版本,yarn会优先使用该配置覆盖所有嵌套依赖的版本要求:
上述版本号可替换为当前最新的稳定版本号。"resolutions": { "caniuse-lite": "^1.0.30001500", "browserslist": "^4.21.0" } - 重新安装依赖
执行强制安装命令,确保所有依赖都使用你指定的版本:yarn install --force - 验证修复结果
执行yarn why caniuse-lite,查看输出中所有caniuse-lite实例是否都指向你指定的统一版本,无其他旧版本存在即可。
如果执行后仍然报错,可检查是否调用了全局安装的旧版ember-cli:优先使用项目本地的ember-cli执行构建命令,即把ember build替换为yarn ember build即可避免全局工具的旧依赖干扰。
内容的提问来源于stack exchange,提问作者Floyd
相关产品推荐
相关产品推荐

