[英]Find out the version of Go a Binary was built with?
有没有办法判断二进制文件是用什么版本构建的?
我的工作站上有多个 go 实例,因此我想验证是否使用了正确的实例。
以下命令应该这样做:
# strings binary_path | grep 'go1\.'
go1.5.3
在运行时使用runtime.Version()来确定你的二进制文件是用什么版本的 Go 构建的:
func Version() string
Version 返回 Go 树的版本字符串。 它可以是一个序列号,或者在可能的情况下是一个像“release.2010-03-04”这样的发布标签。 尾随的 + 表示该树在构建时进行了本地修改。
对于现有的二进制文件,请使用go version
命令:
用法:
go version [-m] [-v] [file ...]
Version 打印 Go 可执行文件的构建信息。
Go version 报告用于构建每个指定可执行文件的 Go 版本。
如果命令行上没有指定文件, go version 会打印自己的版本信息。
如果一个目录被命名,go version 会递归地遍历该目录,寻找可识别的 Go 二进制文件并报告它们的版本。 默认情况下,go version 不会报告在目录扫描期间发现的无法识别的文件。
-v
标志导致它报告无法识别的文件。
-m
标志使 go version 在可用时打印每个可执行文件的嵌入式模块版本信息。 在输出中,模块信息由版本行后面的多行组成,每行由一个前导制表符缩进。
使用go version <path>
。
$ go version /usr/bin/syncthing
/usr/bin/syncthing: go1.13.10
$ go version
go version go1.14.3 linux/amd64
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.