我在根目录中有 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。
ibeautiful
TA贡献1993条经验 获得超5个赞
我会做go get -u "{package_name}@{git_commit_hash}"
例如,go get -u "gopack@1fdd851775f2bc513003d46850c56cb77d8e297b"
-u 标志是更新已经安装的包。
- 2 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消