go x/pkgsite:在模块重命名的情况下,保持前一个路径的较低分数,

ibrsph3r  于 4个月前  发布在  Go
关注(0)|答案(9)|浏览(38)

出现问题的页面的URL是什么?

https://pkg.go.dev/github.com/myitcv/govim/cmd/govim/config?tab=doc

你的用户代理是什么?

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.66 Safari/537.36

截图

你做了什么?

访问了上述页面。

你期望看到什么?

期望看到 v0.0.29 作为最新版本。

你看到了什么?

看到了 v0.0.22,这是很久以前发布的:

djmepvbi

djmepvbi1#

嗯,在我通过代理进行 go get 操作后不久,最新版本就更新了。对于这个特定的模块,大多数人最终都是通过 Vim 插件管理器克隆仓库的。所以我想这里的教训是,我需要定期通过代理进行 go get 以获取最新版本吗?

tvokkenx

tvokkenx2#

非常尴尬。我闭着眼睛看的。
在成为 github.com/govim/govim 模块之前,它是 github.com/myitcv/govim 。对于 govim 的搜索结果同时包含了两者,我没有仔细区分我正在查看的模块。翻转发生在 v0.0.22 之后,因此产生了困惑。
在这种情况下,是否有某种方法可以让模块所有者告诉 pkg.go.dev 发生了重命名?以便新的模块路径始终比旧的模块路径排名更高?

lztngnrs

lztngnrs4#

感谢@bcmills
嗯,这很有趣。这揭示了我所认为的代理问题。

export GOPATH=$(mktemp -d) 
cd $(mktemp -d) 
go mod init mod.com
go get github.com/myitcv/govim@latest

给出:

go: downloading github.com/myitcv/govim v0.0.29
go: github.com/myitcv/govim latest => v0.0.29
go get: github.com/myitcv/govim@v0.0.29: parsing go.mod:
        module declares its path as: github.com/govim/govim
                but was required as: github.com/myitcv/govim

即代理认为版本 > v0.0.22 (模块路径发生变化的点)对于 github.com/myitcv/govim 有效,尽管所有这样的版本实际上对应于 github.com/govim/govim
或者我在这里遗漏了什么?

qyzbxkaa

qyzbxkaa5#

通常,模块路径不匹配的模块可能是为了与相应的模块一起使用 replace 指令而设计的。因此,代理可能不应该直接拒绝这些不匹配的版本。

看起来 pkg.go.dev 成功地抑制了不匹配版本的文档。( https://pkg.go.dev/github.com/myitcv/govim?tab=versionsv0.0.22 结束。)

mnemlml8

mnemlml86#

通常,模块路径不匹配的模块可能是为了与相应的模块一起使用替换指令而设计的。因此,代理可能不应该直接拒绝这些模块。
当然,完全忘记了这一点,谢谢你提醒。

33qvvth1

33qvvth17#

有趣的是,https://pkg.go.dev/search?q=govim现在不再显示来自之前模块路径的结果:

鉴于@bcmills的观察,我本以为github.com/myitcv/govim的结果仍然会出现,只是排名较低。
这里有什么变化吗,@julieqiu?

b4lqfgs4

b4lqfgs48#

看起来这与#37187有关。
关闭此问题,因为似乎#37252(评论)已经得到解决。如果不是这样,请随时重新打开!

57hvy0tb

57hvy0tb9#

@julieqiu -现在有一个稍微不同的问题,尽管 https://pkg.go.dev/github.com/myitcv/govim?tab=doc 是一个有效的软件包(它应该与搜索词 "govim" 匹配),但根据 #37252 (评论)

相关问题