You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React应用yarn start正常但yarn test失败 退出码1报错

问题根因

这个报错和你编写的业务代码无关,属于测试依赖版本兼容问题:
执行测试时默认会启动watch监听模式,加载jest-watch-typeahead插件实现文件名/测试名快速搜索功能,但高版本的该插件使用了ES Module的命名导入语法,而它依赖的jest-watcher是CommonJS格式模块,不支持这种导入方式,直接导致插件初始化崩溃,测试进程退出。
从npm切换到yarn时,如果没有锁定依赖版本,很容易拉到存在兼容问题的依赖版本触发这个报错。

解决步骤(按顺序操作即可)
  • 第一步:在当前运行命令的PowerShell窗口按Ctrl+C终止所有正在运行的项目进程,执行以下命令删除旧的依赖目录和yarn锁文件,清除错误版本的残留:
Remove-Item -Recurse -Force node_modules, yarn.lock
  • 第二步:打开项目根目录下的package.json文件,找到jest-watch-typeahead依赖项,把它的版本固定为和react-scripts 5.x完全兼容的0.6.5,其余所有依赖不要改动,修改后的对应片段参考:
{
  "devDependencies": {
    // 其余原有依赖保持不变,仅修改这一行的版本号
    "jest-watch-typeahead": "0.6.5"
  }
}
  • 第三步:回到PowerShell窗口执行依赖重装命令:
yarn install
  • 第四步:依赖安装完成后,重新执行测试命令即可正常启动:
yarn test
应急交作业方案

如果赶时间不想重装依赖,可以直接执行单次测试命令,跳过watch模式就不会加载出问题的插件,直接跑完所有测试用例输出结果:

yarn test --watchAll=false

内容的提问来源于stack exchange,提问作者user18443097

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 18:31:01