为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
犯罪嫌疑人X 2022-07-25 11:16:10
我在根目录中有 2 个带有 go.mod 的项目。一个是https://github.com/Gohryt/Impossible.go 下一个是requirego.mod 中不可能的东西我通过重命名一对变量进行了简单的提交。我的第二个模块需要这个变量,我也在那里重命名了它。但我没有找到任何类似go mod update,的命令,go mod tidy而且我不能使用新的变量名称。我试过tidy了,但它什么也没做。在来自互联网的一些指南中,我发现我应该在 go mod 中重命名版本,然后 tidy 应该可以工作,但它的名字很像v0.0.0-20210101010359-ec9f21b49366,我真的猜不出新名字是什么样的。是否有任何正常的方法来更新模块,或者我应该在第一次使用后每次都使用旧版本的依赖项?我尝试了 name version with latest,但 go mod tidy 又什么也没做。
查看完整描述

2 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

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

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

升级所有模块:

go get -v -u ./...

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

go get -v -u github.com/user/repo@master

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

go get -v -u github.com/user/repo@develop

然后在最后输入:

go mod tidy

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

git commit -v -a
git tag v0.0.2
git push origin branch --tags

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

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

更多信息在这里https://blog.golang.org/publishing-go-modules


查看完整回答
反对 回复 2022-07-25
?
ibeautiful

TA贡献1993条经验 获得超5个赞

我会做go get -u "{package_name}@{git_commit_hash}"

例如,go get -u "gopack@1fdd851775f2bc513003d46850c56cb77d8e297b"

-u 标志是更新已经安装的包。


查看完整回答
反对 回复 2022-07-25
  • 2 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信