使用模块时,当我试图使用以下命令锁定特定版本的包时:
go mod edit -require "google.golang.org/grpc@v1.10.0"它在require文件中的go.mod部分下面显示了如下内容:
google.golang.org/protobuf v1.10.0然后当我跑的时候
go mod vendor它总是删除最新的版本,目前是v1.24.0。在require文件中的go.mod部分下面显示:
google.golang.org/protobuf v1.24.0不管发生什么情况,是否有办法锁定特定的版本?
我目前使用的是go版本1.14.3。
谢谢!
发布于 2020-06-20 22:58:26
似乎可以告诉go mod只获得指定的版本,而不影响版本。
go -mod=readonly mod vendor可在以下网站找到:https://github.com/thepudds/go-module-knobs/blob/master/README.md
发布于 2020-06-21 02:30:22
解决此问题的一种方法是,一旦对go mod文件进行了特定的更改,就执行go build。这将确保将go.sum文件内置到代码库中。这不过是你拿来的包的校验和。通过这样做,所有未来的拉将匹配go.sum文件的校验和。
https://stackoverflow.com/questions/62491865
复制相似问题