当前位置: 首页 > article >正文

go的”ambiguous import in multiple modules”

执行“go mod tidy”报如下错误:

go mod tidy -compat=1.17
go: finding module for package github.com/gomooon/goredis
go: found github.com/gomooon/goredis in github.com/gomooon/goredis v0.3.5
go: github.com/gomooon/core imports
        github.com/gomooon/goredis imports
        github.com/gin-gonic/gin/binding imports
        github.com/ugorji/go/codec: ambiguous import: found package github.com/ugorji/go/codec in multiple modules:
        github.com/ugorji/go v1.1.4 (/root/go/pkg/mod/github.com/ugorji/go@v1.1.4/codec)
        github.com/ugorji/go/codec v1.2.7 (/root/go/pkg/mod/github.com/ugorji/go/codec@v1.2.7)
make: *** [Makefile.origin:16: build] Error 1

这个错误是由于 github.com/ugorji/go/codec 包存在多个版本冲突导致的,需要在 go.mod 文件中明确指定使用的版本。解决方案有两种:

    1. 在 go.mod 文件中添加 replace 指令
replace github.com/ugorji/go => github.com/ugorji/go v1.1.4
replace github.com/ugorji/go/codec => github.com/ugorji/go/codec v1.2.7
    1. 或者直接在项目根目录执行以下命令
# 先删除可能存在的冲突版本
go mod edit -dropreplace github.com/ugorji/go
go mod edit -dropreplace github.com/ugorji/go/codec

# 强制使用特定版本
go get github.com/ugorji/go@v1.1.4
go get github.com/ugorji/go/codec@v1.2.7

# 清理并更新依赖
go mod tidy

http://www.kler.cn/a/580981.html

相关文章:

  • SmartDeblur深度解析:全能型图片编辑器,老照片修复利器
  • 串口通信ASCII码转16进制及C#串口编程完整源码下载
  • ORACLE EBS数据库RELINK方式搭建克隆环境
  • C++理解模板类型推导
  • 基于Golang的微服务——Consul
  • 【Prometheus】层层解析prometheus如何监控k8s核心组件
  • 如何利用PyPDF2库轻松提取PDF中的文本?
  • 【eNSP实战】交换机配置端口隔离
  • PDF文件中的颜色是什么原理?
  • 一招解决Pytorch GPU版本安装慢的问题
  • DeepSeek+Maxkb+Ollama+Docker搭建一个AI问答系统
  • 数字IC后端设计实现教程 |Innovus ICC2 Routing Pin Access Setting设置方法
  • coze ai assistant Task 1
  • Java集成消息队列实战:从RabbitMQ到Kafka的完整解决方案 [特殊字符]
  • 雷池WAF上游服务器访问状态异常的解答
  • 提升工地安全:视觉分析助力挖掘机作业监控
  • 【FreeRTOS】FreeRTOS操作系统在嵌入式单片机上裸机移植
  • HarmonyOS:应用文件概述(通俗易懂解释版)
  • 《Spring日志整合与注入技术:从入门到精通》
  • 学习文章:Spring Boot 中如何使用 `@Async` 实现异步处理