gup - Update binaries installed by "go install" with goroutines.

nchika

nchika

Posted on November 13, 2022

gup - Update binaries installed by "go install" with goroutines.

gup demo

gup command update binaries installed by "go install" to the latest version. gup updates all binaries in parallel, so very fast.

It also provides subcommands for manipulating binaries under $GOPATH/bin ($GOBIN). It is a cross-platform software that runs on Windows, Mac and Linux.

gup has over 90% test coverage and is registered with go awesome. For golang users, gup is an easy-to-use command and I recommend it to everyone.

Mentioned in Awesome Go

How to install

go install github.com/nao1215/gup@latest
Enter fullscreen mode Exit fullscreen mode

How to use

Update all binaries

$ gup update
gup:INFO : update binary under $GOPATH/bin or $GOBIN
gup:INFO : [ 1/30] github.com/cheat/cheat/cmd/cheat (Already up-to-date: v0.0.0-20211009161301-12ffa4cb5c87)
gup:INFO : [ 2/30] fyne.io/fyne/v2/cmd/fyne_demo (Already up-to-date: v2.1.3)
gup:INFO : [ 3/30] github.com/nao1215/gal/cmd/gal (v1.0.0 to v1.2.0)
gup:INFO : [ 4/30] github.com/matsuyoshi30/germanium/cmd/germanium (Already up-to-date: v1.2.2)
gup:INFO : [ 5/30] github.com/onsi/ginkgo/ginkgo (Already up-to-date: v1.16.5)
gup:INFO : [ 6/30] github.com/git-chglog/git-chglog/cmd/git-chglog (Already up-to-date: v0.15.1)
   :
   :
Enter fullscreen mode Exit fullscreen mode

Update the specified binary

$ gup update subaru gup ubume
gup:INFO : update binary under $GOPATH/bin or $GOBIN
gup:INFO : [1/3] github.com/nao1215/gup (v0.7.0 to v0.7.1)
gup:INFO : [2/3] github.com/nao1215/subaru (Already up-to-date: v1.0.2)
gup:INFO : [3/3] github.com/nao1215/ubume/cmd/ubume (Already up-to-date: v1.4.1)
Enter fullscreen mode Exit fullscreen mode

List up command name with package path and version under $GOPATH/bin

list subcommand print command information under $GOPATH/bin or $GOBIN. The output information is the command name, package path, and command version.
list sample

Remove the specified binary

$ gup remove subaru gal ubume
gup:CHECK: remove /home/nao/.go/bin/subaru? [Y/n] Y
gup:INFO : removed /home/nao/.go/bin/subaru
gup:CHECK: remove /home/nao/.go/bin/gal? [Y/n] n
gup:INFO : cancel removal /home/nao/.go/bin/gal
gup:CHECK: remove /home/nao/.go/bin/ubume? [Y/n] Y
gup:INFO : removed /home/nao/.go/bin/ubume

$ gup remove --force gal
gup:INFO : removed /home/nao/.go/bin/gal
Enter fullscreen mode Exit fullscreen mode

Conclusion

gup is a fast and easy to use tool. There are other features I have not introduced.

If you are interested, please visit GitHub. Thank you.
https://github.com/nao1215/gup

πŸ’– πŸ’ͺ πŸ™… 🚩
nchika
nchika

Posted on November 13, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related