Skip to content

Tool to help download and verify the latest version of Go.

License

Notifications You must be signed in to change notification settings

lazyhacker/getgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1580dcb · Nov 23, 2021

History

57 Commits
Nov 23, 2021
Apr 8, 2021
Apr 9, 2021
Apr 8, 2021
Aug 6, 2020
Apr 9, 2021
Apr 8, 2021
Nov 26, 2020
Apr 8, 2021
Nov 28, 2020
Apr 9, 2021
Apr 9, 2021
Apr 9, 2021
Apr 3, 2021
Apr 8, 2021

Repository files navigation

getgo checks https://golang.org/dl/?mode=json to determine the latest stable version of Go to download and verifies its checksum. The tool won't download the binary if a verified one already exists locally.

It is command line utility with an experimental GUI mode that is only half-baked.

animemated screenshot

Install

Pre-built Binaries

Pre-built binaries are available in the releases section or it can be built if you already have Go installed:

go get lazyhacker.dev/getgo

Compile From Source

If you've downloaded the source then the standard Go tool for building can be used:

go build main.go

Usage

Just run getgo to download the most recent stable archive for the platform it is running from. To also extract the archive run it with the '-x' flag:

getgo -x <dir to extract to>

On Windows, getgo can be told to download the installer with

getgo -kind installer

To download to a specific directory:

getgo -dir ~/Downloads

To download another OS and/or arch version, use the '-os' and the '-arch' flags:

getgo -os windows -arch amd64

To get help info:

getgo -help

Full Example

I use getgo make it easier for me to upgrade Go when a new release comes out. The steps are generally:

  1. Download Go from golang.org.
  2. Verify the download.
  3. Delete /usr/local/go.
  4. Untar the downloaded .tar.gz file to /usr/local

With getgo, this will do the above:

sudo rm /usr/local/go
sudo getgo -x /usr/local

Experimental GUI version

gui screenshot

I'm experimenting with building GUI apps with Go. Fyne is a cross-platform Go GUI toolkit that I started testing.

To try the Fyne version (require installing Fyne and its dependencies):

go get lazyhacker.dev/getgo
go run -tags gui lazyhacker.dev/getgo