How to Install Go on Debian 9

In this tutorial, we will guide you through the steps of installing Go on a Debian 9 Cloud VPS.

Go, also known as Golang, is a free and open-source programming language developed by Google. It can be used to build simple, fast, reliable, and efficient software applications. Go is the most widely used programming language in the world. Many popular applications such as Docker, Openshift, Graphana and Docker are written in Go language. Go also allow us to run multiple processes of the applications at the same time. Let’s begin with the installation.

Prerequisites

  • A Debian 9 Cloud VPS. For the purposes of this tutorial we will use our LC VPS-1 hosting plan.
  • System user with root privileges. We include this with our servers.

Step 1. Log in and Update Packages

Log in to your Debian 9 Cloud VPS via SSH as the root user (or as a user with sudo privileges). We can do that by entering this command:

ssh root@Server_IP_Address -p Port_Number

Remember to replace ‘root’ with your username if you are not using the root user to log in. Change Server_IP_Address and Port_Number according to your server’s IP address and SSH port number.

Once logged in, you need to update all of the OS packages to their latest available version by running the following commands:

apt update 
apt upgrade

Step 2. Install Go

Go doesn’t come pre-installed on most of the Linux distributions. We will have to install the latest version of Go programming language from source.

Download the latest version of Go using the wget command:

wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz

Then, verify the downloaded file checksum with the sha256sum utility:

sha256sum go1.12.6.linux-amd64.tar.gz

The output should be similar to the one below:

dbcf71a3c1ea53b8d54ef1b48c85a39a6c9a935d01fc8291ff2b92028e59913c go1.12.6.linux-amd64.tar.gz

Run the following command to extract the tarball in the /usr/local directory.

tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz

Step 3. Setup Go Environment

Once the Go tarball is extracted, we need to set the PATH environment variable in order to find Go executable binaries by the system.

We can do this by editing the /etc/profile file (for a system-wide installation) or the $HOME/.profile file (for a current user installation).

nano /etc/profile

Append the following line:

export PATH=$PATH:/usr/local/go/bin

Save and close the file. Then, apply the new PATH environment variable with the following command:

source /etc/profile

Step 4. Verify Go Installation

We have successfully installed and configured Go programming language on a Debian 9 Cloud VPS.

We can now check the installed Go version with the following command:

go version

The output should be similar to the one below:

go version go1.12.6 linux/amd64

We can also check all the Go environment variables by running the following command:

go env

The output should be similar to the following:

GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build527675922=/tmp/go-build -gno-record-gcc-switches"

A Simple Go Example: Hello World

We will create a simple program that simply outputs ‘Hello World’ to your terminal.

Open your favorite editor (in our example we are using nano as editor) and create a file named hello-world.go:

nano hello-world.go

and enter the code inside:

package main

import "fmt"

func main() {
    fmt.Println("Hello World")
}

This program is extremely simple and after you run:

go run hello-world.go

The output of this program should be:

Hello World

We can build this simple program into binary. We can do this with the go build command:

go build hello-world.go

Then, we can run the newly created binary directly using:

./hello-world

That’s it! Go is now installed and fully functional on your Debian 9 Cloud VPS, and you tried a test program to see how it works. For more details on how to use this platform, please check their official documentation.


Of course, you don’t have to install Go on Debian 9, if you use one of our Managed Debian Cloud VPS Hosting solutions, in which case you can simply ask our expert Linux admins to setup Go on Debian 9 for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post on how to install Go on Debian 9, please share it with your friends through the social networks by using the buttons below, or simply leave a comment in the comments section. Thanks.

Leave a Comment