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

GitHub Actions执行单元测试提示Jest未找到问题求助

解决GitHub Actions中执行单元测试时jest: not found的问题

问题原因

你在GitHub Actions的环境变量里设置了NODE_ENV: production,而npm install在production模式下会自动跳过安装devDependencies中的包。你的jest是放在devDependencies里的,所以CI环境中没有安装jest,导致执行npm run unit-tests时找不到命令。本地执行正常是因为本地默认不会以production模式安装依赖。

解决方案

方案1:使用npm ci并强制安装所有依赖(推荐)

npm ci更适合CI环境,它会严格按照package-lock.json安装依赖,避免版本不一致问题。加上--production=false参数可以强制安装devDependencies:

- name: Unit Tests 
  run: |
    npm ci --production=false
    npm run unit-tests

方案2:临时修改NODE_ENV为development

在执行依赖安装时,临时将NODE_ENV改为development,确保安装所有依赖:

- name: Unit Tests 
  run: |
    NODE_ENV=development npm install
    npm run unit-tests

或者通过步骤级环境变量覆盖:

- name: Unit Tests 
  env:
    NODE_ENV: development
  run: |
    npm install
    npm run unit-tests

方案3:将jest移至dependencies(不推荐)

不建议这么做,因为jest是开发阶段工具,生产环境不需要,移入dependencies会增加生产包体积。如果必须这么做,修改package.json将jest从devDependencies移到dependencies即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:50:33