繁体   English   中英

找出构建二进制文件的 Go 版本?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM