go.mod 上的严格版本

我在 go.mod 文件中的依赖项总是更新,我不知道为什么。我有这样的 go.mod


module mymodule


go 1.14


require (

    github.com/golang/protobuf v1.3.5

    github.com/grpc-ecosystem/grpc-gateway v1.14.6

    github.com/jinzhu/gorm v1.9.15

    github.com/kelseyhightower/envconfig v1.4.0

    github.com/ruang-guru/rg-genproto v1.0.18

    gitlab.com/ruangguru/source/shared-lib/go v1.0.28

    google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884

    google.golang.org/grpc v1.29.1

)

当我运行go get它总是改变这个。见github.com/golang/protobuf1.3.5 至 1.4.1


require (

    github.com/golang/protobuf v1.4.1

    github.com/gomodule/redigo v2.0.0+incompatible

    github.com/grpc-ecosystem/grpc-gateway v1.14.6

    github.com/jinzhu/gorm v1.9.15

    github.com/kelseyhightower/envconfig v1.4.0

    github.com/ruang-guru/rg-genproto v1.0.18

    github.com/stretchr/testify v1.5.1

    gitlab.com/ruangguru/source/shared-lib/go v1.0.28

    google.golang.org/genproto v0.0.0-20200808173500-a06252235341

    google.golang.org/grpc v1.29.1

    google.golang.org/protobuf v1.25.0 // indirect

)

所以我的问题是我们如何在 go.mod 中设置特定版本而不在运行时更改它go get?如果这个问题非常基本,我很抱歉,因为我对这个 go.mod 仍然很陌生 :(



白衣非少年
浏览 242回答 1
1回答

不负相思意

如果你的 git 包有tag版本,你可以使用这个命令:go get -d -v github.com/golang/protobuf@v1.3.5-d表示“仅下载”,如果您想直接安装,请忽略此标志和此行下方的构建命令。-v意思是“冗长”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go