Yarn Classic中修改package.json版本范围后yarn list显示异常?
Yarn依赖版本显示异常问题排查
问题原因分析
出现这种矛盾的核心原因是Yarn的依赖解析缓存与本地实际安装状态不同步:
- 手动修改package.json的版本范围后,Yarn会优先基于新的版本范围去解析符合要求的最新版本(也就是7.24.0),但此时本地并未执行安装/升级操作,实际依赖还是7.13.13,导致
yarn list和yarn why错误展示了解析后的版本,而非本地已安装的版本。 - 另外Yarn的本地缓存可能存储了7.24.0的版本信息,进一步干扰了命令的输出结果。
解决步骤
- 清除Yarn针对@babel/core的缓存,再重新查询:
yarn cache clean @babel/core yarn list --depth 0 --pattern @babel/core - 如果上述方法无效,强制Yarn重新同步依赖状态:
yarn install --force - 若问题仍存在,检查Yarn版本,部分旧版本Yarn存在解析逻辑bug,升级到稳定版后再测试。
内容的提问来源于stack exchange,提问作者Camilo
相关产品推荐
相关产品推荐

