How to Install Go on Ubuntu

Updated by Linode Written by Linode

Contribute on GitHub

Report an Issue | View File | Edit File

How to Install Go on Ubuntu

What is Go?

Go is a compiled, statically typed programming language developed by Google. Many modern applications such as Docker, Kubernetes, and Caddy are written in Go.

Install Go

  1. Use curl or wget to download the current binary for Go from the official download page. As of this writing, the current version is 1.12.9. Check the download page for updates, and replace 1.12.9 with the most recent stable version if necessary.

    curl -O
  2. Verify the .tar file using sha256sum:

    sha256sum go1.12.9.linux-amd64.tar.gz
    aac2a6efcc1f5ec8bdc0db0a988bb1d301d64b6d61b7e8d9e42f662fbb75a2b9b  go1.12.9.linux-amd64.tar.gz
  3. Extract the tarball:

    tar -xvf go1.12.9.linux-amd64.tar.gz
  4. Adjust the permissions and move the go directory to /usr/local:

    sudo chown -R root:root ./go
    sudo mv go /usr/local

Adjust the Path Variable

  1. Using a text editor, open the ~/.profile file and add the following two lines to the bottom of the file:

    export GOPATH=$HOME/go
    export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
  2. Save the file, and load the commands into the current shell instance:

    source ~/.profile

Test the Installation

According to the official documentation, the following steps are the recommended way to test the success of the installation:

  1. In your home directory create a folder named go, this will be your workspace:

    mkdir go
  2. Within that directory create /src/hello and within that directory copy and paste the contents of the file below:

    mkdir -p go/src/hello && cd go/src/hello
    touch hello.go
    package main
    import "fmt"
    func main() {
        fmt.Printf("hello, world\n")
  3. Build the hello.go file:

    go build
  4. Run the script:

    hello, world

Join our Community

Find answers, ask questions, and help others.

comments powered by Disqus

This guide is published under a CC BY-ND 4.0 license.