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. Go can be used to build simple, fast, reliable and efficient software applications. At the moment, Go is actually the most widely used programming language in the world. Many popular applications such as Docker, Openshift, and Graphana are all written in the Go language, along with thousands of smaller projects designed to fulfill and add extra features to other software. Go also allows us to run multiple processes of applications at the same time, improving performance and efficiency. Let’s begin with the installation.
Prerequisites
- A Debian 9 Cloud VPS. For the purposes of this tutorial we will use our LC VPS-1hosting plan.
- A system user with root privileges, or the root
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@<span style="color: #ff0000;">Server_IP_Address</span> -p <span style="color: #ff0000;">Port_Number</span>
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 versions by running the following commands:
apt update apt upgrade
As soon as all of your packages are up-to-date, we can then continue with the next step.
Step 2: Install Go
Go doesn’t come pre-installed on most of the Linux distributions. In the case of Debian 9, will have to install the latest version of the 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 into the /usr/local
directory.
tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz
Step 3: Set up the 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). In this case, we’re going to set up Go to be available for all users.
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 the Go Installation
That’s it! Once step 3 has been completed, Go has successfully installed and configured to work 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 of the Go environment variables that are currently configured 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 to show that the installation works and is ready to be used.
Open your favorite text editor (in our example we are using nano as our text editor) and create a file named hello-world.go
:
nano hello-world.go
and then enter this code inside:
package main import "fmt" func main() { fmt.Println("Hello World") }
This program is extremely simple. Save and close the file, then run it using Go:
go run hello-world.go
The output of this program should be:
Hello World
We can then build this simple program into a binary file. We can do this with the ‘go build’ command:
go build hello-world.go
Then, we can run the newly created binary directly as a native executable, like this:
./hello-world
The output should be the same as before.
That’s it! Go is now installed and fully functional on your Debian 9 Cloud VPS. For more details on how to use this platform, please check their official documentation – it’s extensive and should cover everything that you need.
You don’t need to set up Go by yourself if you use one of our Managed Debian Cloud Hosting solutions. Instead, you can simply ask our expert Linux admins to set up Go on Debian 9 for you. They are available 24×7 and will take care of making sure that it’s ready to go for your project, along with any other requests that you might have.
If you found this tutorial helpful, please share it with your friends through social media by using the share shortcuts, or if you have any questions or comments, feel free to leave a comment in the comments section. Thanks.