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

使用swaggo/swag生成Swagger后Golang服务器启动报错:Register重复调用

解决swaggo/swag启动时"Register called twice for swag: swagger" panic问题

原因与修复方案

  • 排查重复导入
    检查项目所有文件的import语句,确认没有重复导入services/payment-api/docs包,同一包多次导入会触发重复注册。

  • 重新生成文档
    删除当前项目下的docs目录,重新执行swag生成命令:

    swag init
    

    生成时确保在项目根目录执行,避免生成冗余的注册代码。

  • 检查docs.go中的重复注册
    打开services/payment-api/docs/docs.go,查看第341行附近的代码,若存在两次swag.Register调用,删除重复的那一行(注意保留正确的注册逻辑)。

  • 清理模块缓存
    执行以下命令清理Go模块缓存,避免旧代码残留导致冲突:

    go clean -modcache
    go build
    
  • 多模块项目检查
    若项目采用多模块结构,确保不同模块的swag生成文档没有相互导入,避免跨模块的docs包引发重复注册。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:45:38