What’s happening here is that you are pulling in more dependencies than you expect.
$ rm -rf ~/go $ go get -u mvdan.cc/sh/cmd/shfmt<http://mvdan.cc/sh/cmd/shfmt> In those commands, you downloaded the repo mvdan.cc/sh<http://mvdan.cc/sh> and build cmd/shfmt that is part of it, while also downloading the dependencies for that. $ go get -v -u ./… Here you are updating and building all packages on disk, with their dependencies. This is more than you originally asked for, because your repo has more packages and commands that you didn’t compile the first time. They might have dependencies that need to be pulled in. Likewise, things that depend on for example golang.org/x/crypto/ssh/terminal<http://golang.org/x/crypto/ssh/terminal> will compile that package but download the *repo* which is golang.org/x/crypto<http://golang.org/x/crypto>. Your “update all” command will build all packages in that repo, and pull all their dependencies. Next time, you’ll pull all dependencies for all packages in all repos previously downloaded as dependencies, and so on. In the end I don’t think this has anything to do with distro packages. It’s just that “go get” downloads repos, while compiling packages. The “all” and “./…” will however match everything on disk, which includes more than the named dependencies. //jb -- 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. For more options, visit https://groups.google.com/d/optout.