版本依赖问题:vite-plugin-dts@3.1.0 与 jiti 的兼容性

你们有没有过原本好好的项目工程,切换了node版本或者改了一些不相关的配置,然后它就出异常了,虽然也没改什么,总觉的是切到大动脉。最近公司一个老项目突然打包失败了,项目执行:pnpm build:test,然后就报错,从提示看是找不到Collector.js.js。

当然很明显,文件名肯定是错误的。

less 复制代码
Error: Cannot find module 'E:\gwm-voice-op-mgr-fe-发布\node_modules\.pnpm\vite-plugin-dts@3.1.0_@types+node@20.5.1_less@4.1.3_sass@1.63.6_typescript@5.9.3\node_modules\@microsoft\api-extractor\lib-commonjs\collector\Collector.js.js'
at createEsmNotFoundErr (node:internal/modules/cjs/loader:1244:15)
at finalizeEsmResolution (node:internal/modules/cjs/loader:1232:15)
at resolveExports (node:internal/modules/cjs/loader:638:14)
at Module._findPath (node:internal/modules/cjs/loader:711:31)
at Module._resolveFilename (node:internal/modules/cjs/loader:1193:27)
at Function.resolve (node:internal/modules/helpers:193:19)
at _resolve (E:\gwm-voice-op-mgr-fe-发布\node_modules\.pnpm\jiti@1.21.7\node_modules\jiti\dist\jiti.js:1:246378)
at jiti (E:\gwm-voice-op-mgr-fe-发布\node_modules\.pnpm\jiti@1.21.7\node_modules\jiti\dist\jiti.js:1:249092)
at E:/gwm-voice-op-mgr-fe-发布/node_modules/.pnpm/vite-plugin-dts@3.1.0_@types+node@20.5.1_less@4.1.3_sass@1.63.6_typescript@5.9.3/node_modules/vite-plugin-dts/dist/index.cjs:14:22
at evalModule (E:\gwm-voice-op-mgr-fe-发布\node_modules\.pnpm\jiti@1.21.7\node_modules\jiti\dist\jiti.js:1:251913)
at jiti (E:\gwm-voice-op-mgr-fe-发布\node_modules\.pnpm\jiti@1.21.7\node_modules\jiti\dist\jiti.js:1:249841)
at E:/gwm-voice-op-mgr-fe-发布/internal/vite-config/src/config/package.ts:3:45
at evalModule (E:\gwm-voice-op-mgr-fe-发布\node_modules\.pnpm\jiti@1.21.7\node_modules\jiti\dist\jiti.js:1:251913)
at jiti (E:\gwm-voice-op-mgr-fe-发布\node_modules\.pnpm\jiti@1.21.7\node_modules\jiti\dist\jiti.js:1:249841)
at E:/gwm-voice-op-mgr-fe-发布/internal/vite-config/src/index.ts:2:16
at evalModule (E:\gwm-voice-op-mgr-fe-发布\node_modules\.pnpm\jiti@1.21.7\node_modules\jiti\dist\jiti.js:1:251913)
ELIFECYCLE  Command failed with exit code 1.

这是一个 monorepo 项目,上面的错误指向的是 pnpm 依赖问题,错误显示 vite-plugin-dts 在尝试加载 @microsoft/api-extractor 的模块时找不到文件。

问题定位:

  1. internal/vite-config 包是存在测 : pnpm-workspace.yaml 配置了 internal/* 作为 workspace 包,但该文件名是 Collector.js.js (多了一个 .js )
  2. node_modules 中存在残留缓存 :旧的构建产物引用了已删除的 vite-plugin-dts 依赖

错误路径中的版本是 typescript@5.9.3 ,但实际安装的是 typescript@5.1.6 。是典型的版本依赖问题。

lock.yaml 中存在两个 typescript 版本:

  • typescript@5.1.6 - 被 vite-plugin-dts 使用
  • typescript@5.9.3 - 被 cosmiconfig-typescript-loader 使用

错误原因是:

这是一个 pnpm + jiti + vite-plugin-dts 的兼容性问题:Collector.js 文件存在,但 jiti 错误地查找 Collector.js.js 。这是 vite-plugin-dts@3.1.0 与 jiti 的兼容性问题。

  • vite-plugin-dts 使用 jiti 动态加载 @microsoft/api-extractor
  • 错误路径 Collector.js.js (多了一个 .js )表明模块解析出错
  • pnpm 的严格依赖结构导致路径解析混乱

解决方案 :

这是 vite-plugin-dts@3.1.0 的已知 bug。解决方案是升级到修复版本:

操作:

  • internal/vite-config/package.json - 升级 vite-plugin-dts 到 ^3.2.0
  • package.json - 添加 pnpm.overrides 固定 @microsoft/api-extractor 版本
  • 清理node_modules并重新安装依赖

原文链接:# 版本依赖问题:vite-plugin-dts@3.1.0 与 jiti 的兼容性

相关推荐
陈随易2 分钟前
副业搞钱点子之独立开发
前端·后端·程序员
console.log('npc')11 分钟前
问题跟踪与知识沉淀:从任务到知识的闭环)
前端·javascript·人工智能
恋猫de小郭29 分钟前
最近 Android 有什么更新:Android Dev Summit 2026 技术解读
android·前端·flutter
计算机魔术师31 分钟前
Reddit 宣布转向以登录为主的体验,以应对 AI 搜索带来的流量下滑
前端
熊猫钓鱼>_>31 分钟前
上架审核常见驳回与隐私合规清单:过审前先自查这 8 条【鸿蒙心迹】
开发语言·前端·华为·华为云·harmonyos·openharmony·ai制作
missile11133 分钟前
# HDR 算法 ISP 通路客制化方案(G100 / mt6789)
java·前端·javascript
全栈陈序员1 小时前
【Python】基础语法入门(三十)—— Web 开发入门:用 Flask 搭建第一个网站
前端·python·flask
万少1 小时前
Harmony 7.0 这个skill帮你自动化操作AGC
前端·javascript·后端
小大宇1 小时前
Vue知识点-ElementPlus-02图标
前端·javascript·vue.js
简简单单就是我_hehe1 小时前
一次 ClickHouse 服务器磁盘告警的排查与修复实录
java·服务器·前端