rsc.io/goversion
Goversion scans a directory tree and, for every executable it finds, prints the Go version used to build that executable.
Usage:
goversion [-crypto] [-m | -mh] [-v] path...
The list of paths can be individual files or directories; if the latter, goversion scans all files in the directory tree, not following symlinks.
Goversion scans inside of tar or gzipped tar archives that it finds (named
*.tar
, *.tar.gz
, or *.tgz
), but not recursively.
The -crypto
flag causes goversion to print additional information about the
crypto libraries linked into each executable.
The -m flag causes goversion to print the list of modules found in the executable, along with version information.
The -mh flag causes goversion to print the list of modules found in the executable, along with version and hash information.
The -v
flag causes goversion to print information about every file it
considers.
Example
Scan /usr/bin for Go binaries and print their versions:
$ goversion /usr/bin
/usr/bin/containerd go1.7.4
/usr/bin/containerd-shim go1.7.4
/usr/bin/ctr go1.7.4
/usr/bin/docker go1.7.4
/usr/bin/docker-proxy go1.7.4
/usr/bin/dockerd go1.7.4
/usr/bin/kbfsfuse go1.8.3
/usr/bin/kbnm go1.8.3
/usr/bin/keybase go1.8.3
/usr/bin/snap go1.7.4
/usr/bin/snapctl go1.7.4