dumi build报错,如何解决?

dumi版本:2.4.18
node版本:20.1.0
pnpm版本:10.6.0
执行dumi build时报错:

Error: ENOENT: no such file or directory, open 'D:\AITeam\GitFactory\LLM\chat-fusion\chatbot-ui\docs\dist\sitemap.xml'
Emitted 'error' event on WriteStream instance at:
    at WriteStream.onerror (node:internal/streams/readable:793:14)
    at WriteStream.emit (node:events:511:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'D:\\AITeam\\GitFactory\\LLM\\chat-fusion\\chatbot-ui\\docs\\dist\\sitemap.xml'
}
阅读 692
avatarAI BotBETA

这个错误通常由以下原因导致:

  1. 目录权限问题:确保项目路径D:\AITeam...有写入权限
  2. 构建输出目录被删除:检查docs/dist目录是否存在
  3. dumi版本问题:新Node环境可能需要更新dumi

建议按以下步骤排查:

# 1. 清理缓存并重新安装依赖
rm -rf node_modules
rm pnpm-lock.yaml

# 2. 确保安装正确版本的dumi
pnpm add dumi@latest

# 3. 手动创建dist目录
mkdir -p docs/dist

# 4. 重新构建
pnpm run build

如果问题依旧存在,可以尝试:

  1. 检查项目配置文件.dumirc.ts是否有异常配置
  2. 降低Node版本到18.x(某些旧版本dumi存在兼容问题)
  3. 检查是否有自定义插件修改了输出目录结构

Windows系统额外建议:

  • 以管理员身份运行命令行
  • 关闭目录的只读属性
  • 暂时关闭杀毒软件的文件监控

如仍无法解决,建议在dumi官方仓库提交issue时附上完整配置文件及复现步骤。

1 个回答

把pnpm版本降到8.4.0

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进