FWIW (I'm not saying that the output couldn't be more helpful): I got to
the conclusion of what the problem was by looking at the output of `go
build` you posted:

go: finding github.com/aperum/nrpe latest

It *does* tell you that it's trying to fetch a new module here and which.


On Thu, Nov 28, 2019 at 10:25 AM Brian Candler <b.cand...@pobox.com> wrote:

> I *think* I got to the bottom of this.  It turns out the nrpe_exporter.go
> main module imports some non-vendored dependencies:
>
>
>    - github.com/aperum/nrpe
>    - github.com/prometheus/client_golang/prometheus
>    - github.com/prometheus/client_golang/prometheus/promhttp
>    - github.com/prometheus/common/version
>
>
> That is: they are not in the vendor/ directory and they are not listed in
> vendor/vendor.json, and hence weren't imported into go.mod by go mod init.
> As a result, I believe that "go build" is fetching the latest versions of
> these packages, which in turn bump up dependencies of some of the other
> packages we also use.
>
> If that's true, then I think it would be really helpful if go build (-v)
> could flag when it decides to bump versions and show the reason, i.e. the
> chain of dependencies which resulted in this particular version being
> required.  I showed the "go mod why" output before: it shows the dependency
> chain, but not where the version requirements came from.  I think this has
> partially been raised already as https://github.com/golang/go/issues/27900
>
> I can't see any versioning info from "go mod why".  Again, starting with
> fresh go.mod:
>
> ubuntu@builder:~/nrpe_exporter$ egrep 'common|kingpin' go.mod
> github.com/prometheus/common v0.0.0-20170908161822-2f17f4a9d485
> gopkg.in/alecthomas/kingpin.v2 v2.2.5
>
> ubuntu@builder:~/nrpe_exporter$ go mod why
> *go: downloading gopkg.in/alecthomas/kingpin.v2
> <http://gopkg.in/alecthomas/kingpin.v2> v2.2.5*
> *go: downloading github.com/prometheus/common
> <http://github.com/prometheus/common> v0.0.0-20170908161822-2f17f4a9d485*
> go: downloading github.com/go-kit/kit v0.5.1-0.20170917202734-0d313fb5fb3a
> go: finding github.com/aperum/nrpe latest
> *go: extracting gopkg.in/alecthomas/kingpin.v2
> <http://gopkg.in/alecthomas/kingpin.v2> v2.2.5*
> go: downloading github.com/alecthomas/template
> v0.0.0-20160405071501-a0175ee3bccc
> go: downloading github.com/alecthomas/units
> v0.0.0-20151022065526-2efee857e7cf
> *go: extracting github.com/prometheus/common
> <http://github.com/prometheus/common> v0.0.0-20170908161822-2f17f4a9d485*
> go: downloading github.com/pkg/errors v0.8.1-0.20170910134614-2b3a18b5f0fb
> go: extracting github.com/alecthomas/units
> v0.0.0-20151022065526-2efee857e7cf
> go: extracting github.com/go-kit/kit v0.5.1-0.20170917202734-0d313fb5fb3a
> go: extracting github.com/alecthomas/template
> v0.0.0-20160405071501-a0175ee3bccc
> go: extracting github.com/pkg/errors v0.8.1-0.20170910134614-2b3a18b5f0fb
> go: downloading github.com/go-logfmt/logfmt v0.3.0
> go: downloading github.com/go-stack/stack v1.6.0
> go: extracting github.com/go-stack/stack v1.6.0
> go: extracting github.com/go-logfmt/logfmt v0.3.0
> # github.com/RobustPerception/nrpe_exporter
> github.com/RobustPerception/nrpe_exporter
>
> ubuntu@builder:~/nrpe_exporter$ egrep 'common|kingpin' go.mod
> github.com/prometheus/common v0.7.0
> gopkg.in/alecthomas/kingpin.v2 v2.2.6
>
> ubuntu@builder:~/nrpe_exporter$ go mod why github.com/prometheus/common
> # github.com/prometheus/common
> (main module does not need package github.com/prometheus/common)
> ubuntu@builder:~/nrpe_exporter$ go mod why gopkg.in/alecthomas/kingpin.v2
> # gopkg.in/alecthomas/kingpin.v2
> github.com/RobustPerception/nrpe_exporter
> gopkg.in/alecthomas/kingpin.v2
>
> The first "go mod why" says "downloading gopkg.in/alecthomas/kingpin.v2
> v2.2.5".  But after it has finished, it has silently updated go.mod to
> depend on v2.2.6 instead.
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/9f67a777-059f-482a-9aa6-349ead6f2e8e%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/9f67a777-059f-482a-9aa6-349ead6f2e8e%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAEkBMfFJm2wJ--%2BdvEvUTmZ%3Dz2hSa%3D704xcqa_0f4tRk60qpNg%40mail.gmail.com.

Reply via email to