Partner links

How to install Go on Linux Mint 18 18.1 and Ubuntu 16.04 16.10

Golang on Linux Mint 18

Go, or Golang, is an open source programming language from Google. Released in late-2009, it has since become a very popular programming language. Docker and many of its tools are written in Go.

Unlike Python, it doesn’t come pre-installed on most Linux distributions, but I expect that to change soon. Before then, installing it on your favorite Linux distribution is a breeze, as its installation packages are in official package repositories.

In this tutorial, we’ll go through the process of installing it on Linux Mint 18 and 18.1 and Ubuntu 16.04 and 16.10.

Install Go on Linux Mint and Ubuntu

To install Go, fire up a terminal and type the following commands:

# Install Go on Linux Mint 18/18.1 and Ubuntu 16.04/16.10

sudo apt install golang-go

#

That’s just what you need to install it. The Go executable is expected to be in /usr/local/go, but on both Linux Mint 18/18.1 and Ubuntu 16.04/16.10, it’s actually installed in another (custom) location – /usr/bin/go. Because its parent directory – /usr/bin – is already in your PATH. Nothing to worry about here. Go is ready to go.

Test you Go Installation

Here we’ll set up a Go workspace and build an Hello World! program. If Go can run it successfully, then Go is truly set to go. For this tutorial, I’m calling the workspace gostuff, create it and ensure that it’s in your PATH. The following commands show how to create the workspace:

# Create a Go workspace

mkdir ~/gostuff

# This will do the same thing

mkdir $HOME/gostuff

# 

Afterwards, set the GOPATH environment variable to point to the new workspace. The best approach to this is to set it in the .profile file under your home directory. The following commands show how to go about it:

# Open the .profile file

nano ~/.profile

# Set GOPATH environment variable by appending the next command to .profile 

export GOPATH=$HOME/gostuff

# Save and close the file, then activate it

source ~/.profile

#

With that out of the way, we’ll need to create the directory structure for a Go project using the following command:

# Create the Go project's directory structure
# Use the next command if you're using GitHub to manage your project
# Replace "user" with your username on GitHub

mkdir -p ~/gostuff/src/github.com/user/hello

# Use this if you're using GitLab. Replace "user" with your username on GitLab

mkdir -p ~/gostuff/src/gitlab.com/user/hello

# 

Inside the hello directory you created using the last command, create a file called hello.go and copy and paste the following code into it. All the code does is emit the famous Hello, world!.

# Create a file called hello.go

nano ~/gostuff/src/github.com/user/hello/hello.go

# Or

nano ~/gostuff/src/gitlab.com/user/hello/hello.go

# Copy and paste the following code into hello.go

package main

import "fmt"

func main() {
    fmt.Printf("Hello, world!\n")
}

# 

If this is getting to be too long, don’t worry, we’re almost home. But we won’t get there until we compile the Go code using the next command:

# Compile Go code
# If you went the path of GitHub, use this command

go install github.com/user/hello

# Use this if you went the path of GitLab

go install gitlab.com/user/hello

# 

If the code compiled successfully, there should now be an executable in the bin directory of your Go workspace. And if you run the command, you’ll get the expected output, as shown here:

# Run Go command

$GOPATH/bin/hello
# Output follows:
Hello, world!

# 

That’s it! You just installed Go on Linux Mint 18/18.1 or on Ubuntu 16.04/16.10 and verified that it works. To learn more about Go and how to start developing Go applications, click here.

Golang on Linux Mint 18

Share:

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on linkedin
LinkedIn

Partner links

Newsletter: Subscribe for updates

Subscribe
Notify of
guest
5 Comments
Inline Feedbacks
View all comments
Kurt Fitzner
Kurt Fitzner
5 years ago

Can you add information on installing a more recent (1.7) version of Go for Mint and/or Ubuntu 16.04?

MightyMoo
MightyMoo
5 years ago

To compile this on Mint 18 I had to do the following
$ go build hello.go

This created the executable hello in the directory and then I just ran it.
$ hello
Hello, world!

The github and gitlab compile commands wouldn’t work for me.

Madis
Madis
5 years ago

Something is missing, not working Mint 18 version:

madis@k* ~ $ cat /etc/linuxmint/info
RELEASE=18
CODENAME=sarah
EDITION=”Cinnamon 64-bit”
DESCRIPTION=”Linux Mint 18 Sarah”
DESKTOP=Gnome
TOOLKIT=GTK
NEW_FEATURES_URL=http://www.linuxmint.com/rel_sarah_cinnamon_whatsnew.php
RELEASE_NOTES_URL=http://www.linuxmint.com/rel_sarah_cinnamon.php
USER_GUIDE_URL=help:linuxmint
GRUB_TITLE=Linux Mint 18 Cinnamon 64-bit
madis@k* ~ $ sudo apt install go
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package go

Get the latest

On social media

Security distros

Hacker
Linux distros for hacking and pentesting

Crypto mining OS

Bitcoin
Distros for mining bitcoin and other cryptocurrencies

Crypto hardware

MSI GeForce GTX 1070
Installing Nvidia GTX 1070 GPU drivers on Ubuntu

Disk guide

LVM
Beginner's guide to disks & disk partitions in Linux

Bash guide

Bash shell terminal
How to set the PATH variable in Bash
Categories
Archives
5
0
Hya, what do you think? Please comment.x
()
x