Skip to content
Print version used to build Go executables
Go
Branch: master
Clone or download
Latest commit 597212e Apr 4, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
version goversion: handle -buildmode=pie binaries Apr 4, 2018
LICENSE goversion: initial version Aug 23, 2017
README.md goversion: update docs Feb 22, 2018
main.go goversion: use file extension to test for executables on Windows Apr 3, 2018

README.md

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
You can’t perform that action at this time.