当前位置: 首页 > 面试题库 >

go.mod在修订版中具有v0后的模块路径“ git.example.com/owner/repo/v3”吗?

仲孙钊
2023-03-14
问题内容

我的同事v3.0.1在更新后添加go.mod/v3后缀(https://github.com/golang/go/wiki/Modules#releasing-
modules-v2-or-higher
)之前推了一个标签。我已经更新了模块路径(go.mod)和所有导入路径(*.go)对其进行了修复,标记为v3.0.2

现在的问题是:

go get -v git.example.com/owner/repo@v3.0.2
go: finding git.example.com/owner/repo v3.0.2
go: git.example.com/owner/repo@v0.0.0-20190722053407-d85c4f69ad17: go.mod has post-v0 module path "git.example.com/owner/repo/v3" at revision 
d85c4f69ad17

发现了这一点:gobuild一直抱怨:go.mod具有post-v0模块路径

因此,我删除了v3.0.0v3.0.1标记,将其指向最新的提交,然后再次按下,但问题仍然存在。

我注意到,go.mod仍然将旧版本称为间接依赖项:

require (
    git.example.com/owner.repo v0.1.2 // indirect

即使我将其更改为/v3 v3.0.2它也将v0.1.12自动恢复为。

为什么?

我错过了什么?

2019年7月23日星期二05:54:56 +07

rm go.*
go mod init git.example.com/dependent/project
go mod tidy

go.mod已正确更新:

require (
-       git.example.com/owner/repo v0.1.2
+       git.example.com/owner/repo/v3 v3.0.2

go get -v git.example.com/owner/repo@v3.0.2仍然返回错误:

go: finding git.example.com/owner/repo v3.0.2
go: git.example.com/owner/repo@v0.0.0-20190722053407-d85c4f69ad17: go.mod has post-v0 module path "git.example.com/owner/repo/v3" at revision 
d85c4f69ad17

d85c4f69ad17是最新的提交master

我注意到,有两个v0.1.2v3.0.2go.sum

git.example.com/owner/repo v0.1.2 h1:mCGJEmyrFDTCGkRfUIORpqdrNkSONQ6K+AcTNgxqveY=
git.example.com/owner/repo v0.1.2/go.mod h1:FfUKnyPrARCtAXQZ3BQVJI7h2eJ0UpQBMLg4bNs4Kdc=
git.example.com/owner/repo/v3 v3.0.2 h1:mJtDKLeiP8vMRSZo08i/k/KDbIoZTlKW2aWu7DUBvMM=
git.example.com/owner/repo/v3 v3.0.2/go.mod h1:64LE0ts0Lk9InIQyhPYGmnxs6LZIl6H4Iorl1EXfqxo=

问题答案:

请注意我的go get命令:

go get -v git.example.com/owner/repo@v3.0.2

它应该是:

go get -v git.example.com/owner/repo/v3@v3.0.2


 类似资料:
  • 问题内容: 我意识到,当我对node.js模块(带有-g标志)进行全局安装时,除非编写了整个路径,否则无法使用该模块。 我的意思是,如果模块已全局安装,则无法使用: 我必须写: 我如何对节点说必须在正确的路径中寻找模块? 谢谢。 问题答案: 总的来说,我建议让npm为您提供路径并按照上面的说明进行设置:

  • 通过此功能可以设置网站后台的访问路径 这里填写你需要设置的后台访问域名,例如:admin.domain.com 在该域名解析到您的网站服务器后,只能通过该域名登陆 配置保存在/caches/configs/system.php中,修改参数admin_url可手动取消绑定

  • 问题内容: 面对Jigsaw的相关更改,我似乎找不到任何信息,以了解是否仍然可以在运行时扫描所有可用的类(用于接口,批注等),就像Spring,Reflections和当前其他许多框架和库那样。类的加载方式。 编辑 :此问题是关于 扫描 实际的物理文件路径以查找类。另一个问题是关于动态 加载 类和资源。它是相关的,但 绝不是重复的 。 更新 :Jetty项目已经为此制定了标准化API的 JEP提案

  • 我有一个用Java8写的项目,我想把它更新到Java9。所以我把这些类分成了两个独立的模块。模块: 和目录中的。在我开始更新到Java9之前,它的构建是用Gradle自动化的。该模块使用模块中包含的抽象类实现。 在目录 中的 。我想使用Maven自动构建它。模块需要模块。 文件树类似于: 或 base/src/main/java/org/ggp/base/validator/opnfvalidat

  • 我在创建extbase/fluid扩展时遇到了一个奇怪的问题。我使用typo36.1 我在我的开发服务器上做了一个带有后端模块的扩展(与prod的配置/硬件相同)。该模块与模板的路径完美配合: Myext_资源/私有/后端/模板 在此之后,我下载了我的扩展的zip在文本管理器,然后安装在prod服务器上。现在我不能使用我的扩展,因为模块找不到模板。我用同样的方法配置了扩展。模板在正确的路径上。 我

  • 当我得到<code>java.lang.module时。FindException:模块java.se。ee not founderror when I try update android sdk I set this paths on: 运行该命令后: 我在终端上没有收到任何消息,现在这个命令: 给我看这个错误: 更新: 我安装OpenJDK 设置为默认值后,我也得到错误 错误:无法找到或加载