go.mod 上的严格版本
Strict version on 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/protobuf
从 1.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 还是陌生的:(
如果你的 git 包有 tag
版本,你可以使用这个命令:
go get -d -v github.com/golang/protobuf@v1.3.5
-d
表示“只下载”,如果你想直接安装,省略这个标志和这一行下面的构建命令。
-v
表示“冗长”。
我在 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/protobuf
从 1.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 还是陌生的:(
如果你的 git 包有 tag
版本,你可以使用这个命令:
go get -d -v github.com/golang/protobuf@v1.3.5
-d
表示“只下载”,如果你想直接安装,省略这个标志和这一行下面的构建命令。-v
表示“冗长”。