GOROOT 和 GOPATH
Go 工具要求您的源代码具有特定结构。 该结构由两个环境变量定义: GOROOT 和 GOPATH。 理解并正确配置这些变量可确保您的 Go 项目能够正确编译并运行。
GOROOT 变量指定您的 Go SDK 的位置。 通常,GoLand 会自动设置,除非您希望使用不同的 Go 版本,否则无需更改。
GOPATH 变量定义 Go 项目的工作区。 默认情况下,其位置在类 Unix 系统上为 $HOME/go ,在 Windows 上为 %USERPROFILE%\go 。 它作为已安装二进制文件、缓存模块和校验和数据的根目录。
二进制文件由
go install安装到 $GOBIN (默认: $GOPATH/bin )。模块由
go get缓存到 $GOMODCACHE (默认: $GOPATH/pkg/mod )。校验和数据库状态存储在 $GOPATH/pkg/sumdb 。
有关详细信息,请参阅 go 命令文档的 GOPATH 部分。
以下视频演示如何在 GoLand 中将 Go SDK 更改为较新版本。
GOROOT
GOROOT 设置定义 GoLand 为您的项目使用哪个 Go SDK 版本。 您可以直接从 IDE 下载新版本,或配置本地安装。
配置 GOROOT
打开设置 (Ctrl+Alt+S ),导航至 。
从列表中选择 Go 版本。 如果没有可用版本,请点击 添加 SDK 以 下载 Go 版本 或 选择本地 Go SDK 安装。

选择本地 Go SDK
请确保所选文件夹同时包含 bin 和 src 目录。
打开设置(Ctrl+Alt+S ),然后转到 。
点击 添加SDK 按钮(
),然后选择 本地。
在文件浏览器中,导航到您系统上的 Go SDK 文件夹。
点击 已打开 进行确认。

下载 Go SDK
打开设置 (Ctrl+Alt+S ),导航至 。
点击 添加SDK 按钮(
),然后选择 下载。
在列表中选择所需的 Go SDK 版本。
在 位置 字段中,指定 SDK 的安装位置。 要浏览并选择位置,请点击 浏览 图标(
)。
点击 确定 以确认下载和安装设置。
在设置对话框中点击 应用 或 确定 时,GoLand 会自动下载并解压所选 Go SDK。

使用 asdf
您可以使用 asdf 来管理项目的多个 Go 版本。 GoLand 可识别通过 asdf 安装并管理的 Go SDK,从而允许您在 IDE 中直接在它们之间切换。
asdf 是一个可管理多种编程语言和实用工具的版本管理器。 它允许您在全局或按项目目录定义不同的 Go 版本:
asdf global:为整个系统设置默认的 Go 版本。asdf local:为特定项目或目录设置 Go 版本。
GoLand 同时支持 asdf local 和 asdf global 配置。 您也可以指定多个版本,例如: asdf local golang 1.21.0 1.20.8。 IDE 会自动检测已配置的版本,并在 Go SDK 列表中显示它们。
为项目选择由 asdf 管理的 Go 版本
打开设置 (Ctrl+Alt+S ),导航至 。
在可用 SDK 列表中,选择由 asdf 管理的 Go 版本。 如果已安装并配置 asdf ,其提供的各版本会自动显示。

选择版本后,GoLand 将使用相应的 Go SDK 来构建、运行和测试您的项目。 您可以随时在同一设置页面更改版本,或在项目目录中更新您的 .tool-versions 文件。
GOPATH
GOPATH 变量定义用于存储您的 Go 项目、已下载模块和已安装二进制文件的工作区。 您可以根据您的工作流程,将其配置为全局,或按项目与模块进行配置。
在 GoLand 中, GOPATH 可在不同范围进行设置,从而为不同项目或 SDK 版本隔离环境。
为不同范围配置 GOPATH
您可以为以下范围之一配置 GOPATH:
IDE 会在 Unix 系统上自动将默认的 GOPATH 设置为 $HOME/go ,在 Windows 上设置为 %USERPROFILE%\go 。 您可以按照下文所述在设置中更改它。
配置 GOPATH
打开设置 (Ctrl+Alt+S ),导航至 。
选择您要配置的范围:
全局GOPATH :适用于当前 GoLand 安装中的所有项目。
项目GOPATH :仅适用于当前项目。
模块GOPATH :适用于特定模块。 每个模块都可以使用不同的 SDK 或框架配置。
点击 添加 (
)以添加新路径。
在文件浏览器中,选择要与 GOPATH 关联的目录。 所选路径将用于存储已下载的模块、二进制文件和缓存。

当您应用更改时,GoLand 会自动更新 Go 环境。 新路径会体现在项目配置中,并由 Go 工具用于导入、构建和依赖项管理。