执行yarn install时为何要求选择ts-jest版本?如何避免该提示?
解决yarn install时重复提示选择ts-jest版本的问题
问题原因
你遇到的提示是因为项目依赖中ts-jest的版本约束(^27.5.1)允许安装27.5.1及以上的兼容版本,yarn检测到存在多个可匹配的ts-jest版本选项,需要手动确认。另外要注意,ts-jest版本必须和jest主版本保持一致(比如jest 27.x对应ts-jest 27.x),你的项目中jest是27.5.1、ts-jest指定为27.5.1,版本本身匹配,核心问题是版本范围约束导致的可选版本歧义。
解决方案
1. 锁定ts-jest精确版本
修改package.json中ts-jest的版本号,去掉前缀^,指定精确版本:
"ts-jest": "27.5.1"
修改后重新执行yarn install,yarn会直接安装指定版本,不再弹出选择提示。
2. 非交互式安装(临时方案)
如果不想修改package.json,可在执行安装时添加--non-interactive参数,让yarn自动选择默认版本:
yarn install --non-interactive
3. 清理yarn缓存(排查缓存异常)
若缓存导致版本检测异常,清理缓存后重新安装:
yarn cache clean yarn install
4. 强制指定版本(解决间接依赖冲突)
如果有其他依赖间接引入了更高版本的ts-jest,可通过resolutions字段强制统一版本:
在package.json中添加:
"resolutions": { "ts-jest": "27.5.1" }
然后执行yarn install,yarn会强制所有依赖使用指定的ts-jest版本。
内容的提问来源于stack exchange,提问作者Rene Enriquez
相关产品推荐
相关产品推荐

