卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章35585本站已运行397

去获取引用无效标签

去获取引用无效标签

php小编新一为您介绍如何解决“获取引用无效标签”的问题。在编写PHP代码时,有时会遇到获取引用无效标签的错误提示,这可能是由于PHP版本不兼容或代码逻辑问题导致的。解决这个问题的方法有很多,可以通过检查代码逻辑、更新PHP版本或修改代码来解决。接下来,我们将逐步探讨解决这个问题的方法,帮助您顺利运行PHP代码。

问题内容

我一直在开发一个基于 go 的二进制文件,并且遇到了一个奇怪的问题。

所以我确实有包a和包b,其中包b是在包a中直接引用的。

主应用程序(包 a)使用包 b 包 b 通过它的 mod 文件引用。

因此,我通过 go get [email protected] 添加了包 a 的包 b 的标记版本,但是当我遇到一些问题时,我在本地和远程(github)上删除了该版本和标记,并创建了一个基于标记的版本在较新的提交上。 github 确认新版本基于新引用,但是当我通过新提交引用相同标签时,它实际上引用了相同的旧代码版本。

最近,为了解决并解决这个问题,我创建了一个名为 v1.1.1 的标签,但是尽管它解决了问题,但现在即使当我引用 v1.1.0 时,它也会给我以下消息最后。

root@CaesarPrime-AcerE5:/mnt/d/AppA# go get github.com/xxxx/B@master
go: downloading github.com/xxxx/B v1.11.0
go: downloading github.com/xxxx/xxxxz v0.3.2
go: downloading github.com/xxxx/xxxxd v1.1.1
go: downloading golang.org/xxxx/xxxxv v0.0.0-20220127200216-cd36cc0744dd
go: downloading golang.org/xxxx/xxxxb v0.3.7
go: downloading github.com/xxxx/xxxx v0.0.0-20170810143723-de5bf2ad4578
go: upgraded github.com/xxxx/B v1.1.0 => v1.1.1

我相信这可能是由于某些缓存问题造成的,因为我在远程或本地都没有看到标签 v1.1.1。但是,如果 go git 从远程存储库中提取内容,因为它已经提取了一些已删除的后期标签,那么这种情况怎么会发生呢?

或者我在包管理中做了一些尴尬的错误?

解决方法

你是对的,被删除的标签可能存在于 go 的公共代理

go 文档说:

标签一旦创建,就不应删除或更改为 不同的修订版。版本经过验证以确保安全, 可重复的构建。如果标签被修改,客户端可能会看到安全 下载时出错。即使标签被删除后,其内容 可能在模块代理上仍然可用。

您可以通过放置这样的节来收回版本在 go.mod 中:

retract (
    v1.0.0 // Published accidentally.
    v1.0.1 // Contains retractions only.
)
卓越飞翔博客
上一篇: 尽管类型相同,Go 类型转换仍失败
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏