`go version -m` prints "Go version and module versions used to build a
specific executable"

Example from the Go docs https://go.dev/ref/mod#go-version-m

> The -m flag causes go version to print each executable’s embedded module 
> version information, when available. For each executable, go version -m 
> prints a table with tab-separated columns like the one below.
>
> $ go version -m ~/go/bin/goimports
> /home/jrgopher/go/bin/goimports: go1.14.3
>        path    golang.org/x/tools/cmd/goimports
>        mod     golang.org/x/tools      v0.0.0-20200518203908-8018eb2c26ba     
>  h1:0Lcy64USfQQL6GAJma8BdHCgeofcchQj+Z7j0SXYAzU=
>        dep     golang.org/x/mod        v0.2.0          
> h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=
>        dep     golang.org/x/xerrors    v0.0.0-20191204190536-9bdfabe68543     
>  h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=

However this information seems to be missing in Debian go binaries:

$ go version -m /usr/bin/caddy
caddy: go1.19.4
        path    github.com/caddyserver/caddy/v2/cmd/caddy
        build   -compiler=gc
        build   -trimpath=true
        build   CGO_ENABLED=0
        build   GOARCH=amd64
        build   GOOS=linux
        build   GOAMD64=v1

Presumably the module version information is stripped somehow. Could
it be added back? Or would it add too much to binary size?

Reply via email to