| --- | |
| title: 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.) |