Setting the GOPATH environment variable in Ubuntu

Clive B.
jump to solution

The Problem

You don’t know how to set the GOPATH environment variable in an Ubuntu environment (or in most other Linux environments).

The Solution

There are different ways to set the GOPATH variable depending on your version of Go and whether you’re trying to go install a binary or go install a package.

From Go 1.8 onwards, the default GOPATH is $HOME/go on Unix systems.

If you’re using an old version of Go to go get a package, upgrade your Go version to 1.11 or later and use Go Modules.

If you’re using an even earlier version of Go or want to use a custom GOPATH, export the GOPATH environment variable in your shell session:

export GOPATH=/user/me/exampledirectory

If you’re using Go version 1.13 or above, set the environment using Go itself:

go env -w GOPATH=/user/me/exampledirectory

If you want the change to persist beyond the current session, you need to modify your shell startup file.

If you’re using Bash or Zsh, you’ll need to add the following to your ~/.bash_profile or ~/.zshrc file:

export GOPATH=/user/me/exampledirectory

Save and exit your editor.

Load the file by running one of the following commands:

source ~/.bash_profile # For Bash.
source ~/.zshrc        # For Zsh.

Further Reading

Sending JSON Via an HTTP POST Request in Go
Clive B.
Deleting an element from a slice in Go
Clive B.
Check if a Slice Contains a Value in Go
Clive B.
Check if a Map Contains a Certain Key in Go
Clive B.

Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Sentry