blob: f0d152e285b291e7484d0c7b1cb7bea089beccff [file] [log] [blame] [view]
# 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](#unix-systems)
* [Go 1.13](#go-113)
* [Bash](#bash)
* [Zsh](#zsh)
* [fish](#fish)
- [Windows](#windows)
* [Go 1.13](#go-113-command-line)
* [Windows 10 (GUI)](#windows-10-gui)
* [Windows 10 (command line)](#windows-10-command-line)
# 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+
```bash
go env -w GOPATH=$HOME/go
```
## Bash
Edit your `~/.bash_profile` to add the following line:
```bash
export GOPATH=$HOME/go
```
Save and exit your editor. Then, source your `~/.bash_profile`.
```bash
source ~/.bash_profile
```
## Zsh
Edit your `~/.zshrc` file to add the following line:
```bash
export GOPATH=$HOME/go
```
Save and exit your editor. Then, source your `~/.zshrc`.
```bash
source ~/.zshrc
```
## fish
```bash
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.
* Create a folder at `C:\go-work`.
* Right-click on "Start" and click on "Control Panel". Select "System and Security", then click on "System".
* From the menu on the left, select the "Advanced system settings".
* Click the "Environment Variables" button at the bottom.
* Click "New" from the "User variables" section.
* Type `GOPATH` into the "Variable name" field.
* Type `C:\go-work` into the "Variable value" field.
* Click OK.
## Go 1.13+ (command line)
* Open a command prompt (`Win` + `r` then type `cmd`) or a powershell window (`Win` + `i`).
* Type `go env -w GOPATH=c:\go-work`.
## Windows 10 (GUI)
There is a faster way to edit `Environment Variables` via search:
* Left click on "Search" and type `env` or `environment`.
* Select "Edit environment variables for your account".
* ... and follow steps above.
## Windows 10 (command line)
* Open a command prompt (`Win` + `r` then type `cmd`) or a powershell window (`Win` + `i`).
* Type `setx GOPATH %USERPROFILE%\go`. (This will set the `GOPATH` to your `[home folder]\go`, such as `C:\Users\yourusername\go`.)
* Close the command or PowerShell window. (The environment variable is only available for new command or PowerShell windows, not for the current window.)