无法使用 go 模块更新单个包

Goh*_*ryt 10 go

我有 2 个项目,根目录中有 go.mod 。第一个是https://github.com/Gohryt/Impossible.gorequire下一个是go.mod 中不可能的 事情

我通过重命名一对变量进行了简单的提交。我的第二个模块需要这个变量,我也在那里重命名了它。但我没有找到任何像go mod update, only 这样的命令go mod tidy,而且我无法使用变量的新名称。我尝试过tidy,但什么也没做。在互联网上的一些指南中,我发现我应该在 go mod 中重命名版本,然后 tidy 应该可以工作,但它的名称如下v0.0.0-20210101010359-ec9f21b49366,我真的无法猜测新名称是什么样的。

是否有任何正常的方法来更新模块,或者我应该在第一次使用后每次都使用旧版本的依赖项?

我尝试使用 name version latest,但 go mod tidy 再次什么也没做。

小智 21

如果模块 A 需要模块 B,并且您的程序需要两者...您将需要确保模块 A 需要模块 B 的正确版本。以下是我经常做的一些事情,以保持所有内容按照我想要的方式同步。

要升级模块,首先进入存储库...

升级所有模块:

go get -v -u ./...
Run Code Online (Sandbox Code Playgroud)

将某个模块升级到最新提交:

go get -v -u github.com/user/repo@master
Run Code Online (Sandbox Code Playgroud)

将某个模块升级到某个分支:

go get -v -u github.com/user/repo@develop
Run Code Online (Sandbox Code Playgroud)

然后在最后输入:

go mod tidy
Run Code Online (Sandbox Code Playgroud)

将更改提交到您的存储库,并考虑一个新标签。

git commit -v -a
Run Code Online (Sandbox Code Playgroud)
git tag v0.0.2
Run Code Online (Sandbox Code Playgroud)
git push origin branch --tags
Run Code Online (Sandbox Code Playgroud)

然后,返回到您的程序存储库......并执行相同的步骤,但请确保您导入的模块在运行该-v -u命令时显示正确的标签。

并确保您的go.sum,go.mod文件没有旧模块中的额外内容。

更多信息请参见https://blog.golang.org/publishing-go-modules