Go Error module declares its path as but was required as解决方案

简介: 文章提供了一个解决方案,用于处理在Go工程中将依赖的仓库从A更换为B(即使它们完全相同)时遇到的路径声明错误,建议通过发布新版本来解决此问题。

Go Error module declares its path as but was required as解决方案

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

问题原因

当我准备将Go工程C依赖的仓库A在IDE全部修改替换仓库B(仓库A与仓库B完全一样)时,当然引用的版本没有变化,报出了如下错误:

go: downloading github.com/B/lib v0.1.0
go get: github.com/B/lib@none updating to
        github.com/B/lib@v0.1.0: parsing go.mod:
        module declares its path as: github.com/A/lib
                but was required as: github.com/B/lib

原因分析

已经确认全部的A仓库的引用到已经修改为B的仓库的,那么为什么还会报错?原因有一个可能性因为版本没有变化(尽管仓库路径替换了),仓库的vendor内容还是没有变化,导致报错。

解决方案

直接对B仓库升级发布一个新的版本,再次尝试,问题解决。

比如我的升级到:

github.com/B/lib v0.1.1
相关文章
|
1月前
|
Go 持续交付 开发者
Go语言包与模块(module)的基本使用-《Go语言实战指南》
本章深入讲解Go语言中的包(Package)和模块(Module)概念。包是代码组织的最小单位,每个`.go`文件属于一个包,通过`import`实现复用;主程序包需命名为`main`。模块是Go 1.11引入的依赖管理机制,支持自动版本管理和私有/远程仓库,无需依赖GOPATH。通过实际示例,如自定义包`mathutil`和第三方模块`gin`的引入,展示其使用方法。常用命令包括`go mod init`、`go mod tidy`等,帮助开发者高效管理项目依赖。最后总结,包负责功能划分,模块实现现代化依赖管理,提升团队协作效率。
|
4月前
|
测试技术 Go API
Go 切片导致 rand.Shuffle 产生重复数据的原因与解决方案
在 Go 语言开发中,使用切片时由于其底层数据共享特性,可能会引发意想不到的 Bug。本文分析了 `rand.Shuffle` 后切片数据重复的问题,指出原因在于切片是引用类型,直接赋值会导致底层数组共享,进而影响原始数据。解决方案是使用 `append` 进行数据拷贝,确保独立副本,避免 `rand.Shuffle` 影响原始数据。总结强调了切片作为引用类型的特性及正确处理方法,确保代码稳定性和正确性。
148 82
|
10月前
|
测试技术 Shell Go
go 语言优雅地处理 error
go 语言优雅地处理 error
|
11月前
|
存储 Linux Go
GO 项目依赖管理:go module总结
GO 项目依赖管理:go module总结
146 0
|
9月前
|
存储 Go
Golang语言基于go module方式管理包(package)
这篇文章详细介绍了Golang语言中基于go module方式管理包(package)的方法,包括Go Modules的发展历史、go module的介绍、常用命令和操作步骤,并通过代码示例展示了如何初始化项目、引入第三方包、组织代码结构以及运行测试。
258 3
|
8月前
|
存储 缓存 算法
go vendor module
go vendor module
|
10月前
|
数据采集 缓存 IDE
Go中遇到http code 206和302的获取数据的解决方案
文章提供了解决Go语言中处理HTTP状态码206(部分内容)和302(重定向)的方案,包括如何获取部分数据和真实请求地址的方法,以便程序员能快速完成工作,享受七夕时光。
482 0
Go中遇到http code 206和302的获取数据的解决方案
|
10月前
|
人工智能 Go
go validator 值为 0 required 验证
go validator 值为 0 required 验证
71 6
|
10月前
|
缓存 Go
Go引用包版本更新但是被引用的包的子包并没有出现在vendor中的问题和解决方案
文章讨论了在Go模块项目中升级依赖包版本时遇到的子包未出现在vendor目录的问题,并提供了直接删除旧版本引用并重新执行`go mod vendor`的解决方案。
100 0
|
11月前
|
Go
Go 项目自动重载解决方案 —— Air 使用入门
**Air**: 提升Go开发效率的利器!自动重载工具,监听文件变化,实时编译运行,无需频繁重启。安装:启用Go Module后,运行`GO111MODULE=on go install github.com/cosmtrek/air@latest`。启动项目:`air`,配置文件默认为`air.toml`。集成到项目,忽略`tmp/`目录。让代码更改即时生效,专注编码,告别手动重启。适用于开发环境,生产环境禁用。[更多详情](https://github.com/cosmtrek/air)
187 1

热门文章

最新文章