Hello,

Is there a way to update packages installed using `go get` without
duplicating packages that are distributed with Go or by my Linux
distribution?

Background:  I'm not a Go developer (yet).  I am using some programs
written in Go, which I installed using `go get`, and would like to
keep those programs up to date.  Running `go get -u all` or
`cd ~/go && go get -u ./...` both result in many packages being
downloaded and rebuilt unnecessarily (and more with each invocation),
which slows updates significantly and wastes a lot of disk space.
Is there a command which I can run that only updates the packages I
have installed and their dependencies without updating packages
installed system-wide?

As a specific example (using Debian golang-go 2:1.10~5):

$ rm -rf ~/go
$ go get -u mvdan.cc/sh/cmd/shfmt
$ cd ~/go
$ du -hs .
7.8M    .
$ go list ./... | wc -l
6
$ go get -u ./...
$ du -hs .
46M     .
$ go list ./... | wc -l
98
$ go get -u ./...
$ du -hs .
111M    .
$ go list ./... | wc -l
160
$ du -hs .
181M    .
$ go list ./... | wc -l
235

(Since each `go get` takes longer to complete, I have not waited until
a stable state is reached.)

Any suggestions or pointers to documentation that I may have
overlooked would be much appreciated.

Thanks,
Kevin

-- 
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.

Reply via email to