IntelliJ IDEA 2020.3 Help


Go tools expect a certain layout of the source code. GOROOT and GOPATH are environment variables that define this layout.

GOROOT is a variable that defines where your Go SDK is located. You do not need to change this variable, unless you plan to use different Go versions.

GOPATH is a variable that defines the root of your workspace. By default, the workspace directory is a directory that is named go within your user home directory (~/go for Linux and MacOS, %USERPROFILE%/go for Windows). GOPATH stores your code base and all the files that are necessary for your development. You can use another directory as your workspace by configuring GOPATH for different scopes. GOPATH is the root of your workspace and contains the following folders:

  • src/: location of Go source code (for example, .go, .c, .g, .s).

  • pkg/: location of compiled package code (for example, .a).

  • bin/: location of compiled executable programs built by Go.


Configure GOROOT

Download the Go SDK

  1. Open settings ( Ctrl+Alt+S ) and navigate to Languages & Frameworks | Go | GOROOT.

  2. Click the Add SDK button (the Add SDK icon) and select Download.

  3. From the Version list, select the SDK version.

  4. In the Location field, specify the path for the SDK. To use a file browser, click the Browse icon the Browse icon.

  5. Click OK.

Download the Go SDK


Configuring GOPATH for different scopes

You can configure GOPATH for the following scopes:

  • Global GOPATH: settings apply to all projects of a specific installation of IntelliJ IDEA.

  • Project GOPATH: settings apply only to the current project.

  • Module GOPATH: settings apply only to one module. A module can have an SDK that is different from those configured for a project. They can also carry a specific technology or a framework.

Types of settings

If you specified all three scopes, IntelliJ IDEA selects the narrowest scope first.

  1. Open settings ( Ctrl+Alt+S ) and navigate to Languages & Frameworks | Go | GOPATH.

  2. Depending on the scope that you want to apply, select the corresponding section (Global GOPATH, Project GOPATH, or Module GOPATH) and click the Add button the Add button.

  3. In the file browser, navigate to the directory that you want to associate with GOPATH.

    In the following example, we configured to use different GOPATH directories for different scopes.

    Configuring GOPATH for different scopes
Last modified: 11 December 2020