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

迁移至Yarn v4与Vitest后出现Vitest模块找不到错误求助

Yarn v4 + Vitest 工作区模块找不到问题解决方法

错误信息

file:///home/username/Projects/projectName/node_modules/tinypool/dist/chunk-E2J7JLFN.js:46
    throw error;
    ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/home/username/Projects/projectName/be-shared/node_modules/vitest/dist/chunks/index.lVXYBqEP.js' imported from /home/username/Projects/projectName/be-shared/node_modules/vitest/dist/worker.js
    at finalizeResolution (node:internal/modules/esm/resolve:265:11)
    at moduleResolve (node:internal/modules/esm/resolve:933:10)
    at defaultResolve (node:internal/modules/esm/resolve:1169:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)
    at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)
    at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:87:39)
    at link (node:internal/modules/esm/module_job:86:36) {
  code: 'ERR_MODULE_NOT_FOUND',
  url: 'file:///home/username/Projects/projectName/be-shared/node_modules/vitest/dist/chunks/index.lVXYBqEP.js'
}

Node.js v20.16.0
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

解决步骤

  • 清理依赖缓存并重装
    执行以下命令彻底清理缓存后重新安装依赖:

    yarn cache clean
    yarn install
    

    Yarn v4的缓存机制可能残留旧的模块引用,清理后能确保依赖路径正确。

  • 统一Vitest版本
    检查根目录和be-shared工作区的package.json,确保所有工作区的Vitest版本完全一致。版本不一致会导致Yarn Workspaces的依赖扁平化出现异常,引发模块路径错误。

  • 临时禁用Vitest线程池
    在vitest.config.ts中添加线程禁用配置,排查是否是线程池加载模块的问题:

    import { defineConfig } from 'vitest/config';
    
    export default defineConfig({
      test: {
        threads: false,
      },
    });
    

    如果禁用后能正常运行,再逐步排查线程相关的配置或依赖冲突。

  • 重置依赖结构
    删除根目录和be-shared工作区的node_modules文件夹,以及根目录的yarn.lock文件,然后重新执行yarn install。这能彻底清除旧的依赖残留,避免错误路径引用。

  • 检查Yarn PnP配置(若启用)
    如果项目使用Yarn PnP模式,确保Vitest被正确添加到devDependencies中,并且通过yarn pnpify vitest命令运行测试,验证PnP是否能正确解析模块路径。

内容的提问来源于stack exchange,提问作者Илья Хоришко

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:35:17