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

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.dtcms.com/a/62138.html

相关文章:

  • Ubuntu开荒
  • 专题三二分算法
  • 工作记录 2017-01-04
  • 人工智能直通车系列15【机器学习基础】(决策树算法原理(ID3、C4.5、CART)决策树模型实现)
  • CENTOS7虚拟机硬盘不停机扩容
  • 【NLP 29、项目 Ⅰ:电商评论分类(好评 / 差评) 】
  • 基于MCAL的S32K3 GPIO外部中断使用
  • Redux 和 MobX 高频面试题
  • 类变量和类方法
  • 《高效迁移学习:Keras与EfficientNet花卉分类项目全解析》
  • 大脑宏观结构中的富集俱乐部:图论分析视角
  • 嵌入式硬件篇---手柄控制控制麦克纳姆轮子
  • Webpack Vite 前端高频面试题
  • 详解部分依赖
  • go函数详解
  • H-vmunet: High-order Vision Mamba UNet for Medical Image Segmentation模型详解及代码复现
  • Drools规则引擎在临床路径逻辑中的编程实例讨论汇总
  • java通配符?, T, E, K, V, N(简单易懂)
  • 树莓派4B使用Ubuntu20.04连接不上热点
  • 从零开始学习PX4源码10(启动过程)
  • AI Agent系列(三) -Agent实现
  • 云原生服务网格:微服务通信的智能中
  • vue3-computed计算属性和reactive响应式系统结合使用
  • 01、Hive从入门到放弃,第一章:简单入门与安装
  • 引入其他 YML 配置源 —— Spring Boot 中的 `import` 功能
  • Leetcode-146.LRU缓存
  • Oracle RAC环境下自动清理归档日志实战指南
  • vscode更新后: 适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新
  • 【从零开始学习计算机科学】操作系统(九)大容量存储器
  • Fast DDS Security--仿问控制