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

pnpm run test与vitest run的差异?Solid.js本地测试报错咨询

问题解答

两个命令的核心差异

  • 依赖版本与执行环境:pnpm run test会调用当前项目node_modules里安装的本地vitest版本,而直接执行vitest run用的是你电脑上全局安装的vitest版本,这两个版本大概率存在差异。
  • 配置加载逻辑:通过pnpm执行脚本时,会自动读取当前项目目录下的vitest配置文件(比如vitest.config.js或package.json里的vitest字段),完全以项目上下文运行;直接跑全局vitest时,可能加载到非项目的配置,或是因版本差异导致配置解析规则不兼容。

报错原因

你项目的vitest配置里指定了coverage.provider: c8,但你全局安装的vitest版本已经废弃了c8这个覆盖率提供商,要求改用v8。而项目本地安装的vitest版本还支持c8配置,所以用pnpm run test(调用本地版本)能正常运行,直接跑全局vitest就触发了版本不兼容的报错。

可选解决办法

  1. 优先使用pnpm run test执行项目测试,保证测试环境与项目依赖完全匹配
  2. 如果想直接用vitest run,要么把全局vitest版本降级到和项目本地一致,要么修改项目配置里的coverage.provider为v8

内容的提问来源于stack exchange,提问作者Felix F Xu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:51:21