Go is an open source programming language developed by a team at Google. It provides easy to build simple, reliable, and efficient software’s. This language is designed for writing servers, that’s why it is using widely these days. Go has released latest version 1.9. This tutorial will help you to install Go 1.9 on your Fedora 27/26/25 & CentOS/RHEL 7/6 systems. You can also use tutorials to install Go lang on Ubuntu and Debian systems.
Step 1 — Install Go 1.9
Login to your Redhat or its derivative system using ssh and upgrade to apply latest security updates there.
# yum update
Now download the Go language binary archive file using following link. To find and download latest version available or 32 bit version go to official download page.
# wget ttps://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
Now extract the downloaded archive and install it to the desired location on your system. For this tutorial, I am installing it under /usr/local directory. You can also put this under the home directory (for shared hosting) or other location.
# tar -xzf go1.9.2.linux-amd64.tar.gz # mv go /usr/local
Step 2 — Setup Go Environment
Now you need to set up Go language environment variables for your project. Commonly you need to set 3 environment variables as GOROOT, GOPATH and PATH.
GOROOT is the location where Go package is installed on your system.
# export GOROOT=/usr/local/go
GOPATH is the location of your work directory. For example my project directory is ~/Projects/Proj1 .
# export GOPATH=$HOME/Projects/Proj1
Now set the PATH variable to access go binary system wide.
# export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
All above environment will be set for your current session only. To make it permanent add above commands in ~/.bash_profile file.
Step 3 — Verify Installation
At this step, you have successfully installed and configured go language on your system. First, use the following command to check Go version.
go versiongo version go1.9.2 linux/amd64
Now also verify all configured environment variables using following command.
go envGOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/root/Projects/Proj1" GORACE="" GOROOT="/usr/local/go" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build764105058=/tmp/go-build -gno-record-gcc-switches" CXX="g++" CGO_ENABLED="1" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config"