Go Wiki: Setting GOPATH

The GOPATH environment variable specifies the location of your workspace. If no GOPATH is set, it is assumed to be $HOME/go on Unix systems and %USERPROFILE%\go on Windows. If you want to use a custom location as your workspace, you can set the GOPATH environment variable. This page explains how to set this variable on various platforms.

Unix systems

GOPATH can be any directory on your system. In Unix examples, we will set it to $HOME/go (the default since Go 1.8). Note that GOPATH must not be the same path as your Go installation. Another common setup is to set GOPATH=$HOME.

Go 1.13+

go env -w GOPATH=$HOME/go

Bash

Edit your ~/.bash_profile to add the following line:

export GOPATH=$HOME/go

Save and exit your editor. Then, source your ~/.bash_profile.

source ~/.bash_profile

Zsh

Edit your ~/.zshrc file to add the following line:

export GOPATH=$HOME/go

Save and exit your editor. Then, source your ~/.zshrc.

source ~/.zshrc

fish

set -x -U GOPATH $HOME/go

The -x is used to specify that this variable should be exported and the -U makes this a universal variable, available to all sessions and persistent.

Windows

Your workspace can be located wherever you like, but we’ll use C:\go-work in this example.

NOTE: GOPATH must not be the same path as your Go installation.

Go 1.13+ (command line)

Windows 10 (GUI)

There is a faster way to edit Environment Variables via search:

Windows 10 (command line)


This content is part of the Go Wiki.