我们正在使用go模块。我希望在CLI中获取模块的特定版本。有可能吗?
如果您很好奇,原因是我想添加以下generate
命令:
//go:generate go run github.com/golang/mock/mockgen -source="$GOPATH/pkg/mod/mymodules.com/mymodule@${VERSION}/module.go" -destination=module_mock.go
所以我需要以某种方式获取版本
答案 0 :(得分:2)
基础:
go list -m all
-查看将用于所有直接和间接依赖项的最终版本
go list -u -m all
—查看所有直接和间接依赖项的可用次要和补丁升级
示例:
要获取特定模块的版本,请假设golang.org/x/text
go list -m all | grep golang.org/x/text | awk '{print $2}'
或
go list -u -m all | grep golang.org/x/text | awk '{print $2}'
所以,一般的方法:
go list -u -m all | grep <module-name> | awk '{print $2}'