IntelliJ IDEA 2025.1 Help

GOROOT 和 GOPATH

Go 工具期望源代码有特定的布局。 GOROOT 和 GOPATH 是定义此布局的环境变量。

GOROOT 是一个变量,定义了您的 Go SDK 的位置。 除非您计划使用不同的 Go 版本,否则无需更改此变量。

在 Go 开发中,GOPATH 变量在 Unix 上默认值为 $HOME/go ,在 Windows 上默认值为 %USERPROFILE%\go ,有几个用途:

  • 二进制文件通过 go install 安装到 $GOBIN$GOBIN 默认为 $GOPATH/bin

  • 模块会被 go get 缓存在 $GOMODCACHE 中,默认目录为 $GOPATH/pkg/mod。

  • go get 在 $GOPATH/pkg/sumdb 缓存校验和数据库状态。

有关 GOPATH 变量的详细信息,请参阅 go command 文档

GOPATH 开发模式的概念,现在已被弃用,Go modules 是其前辈。 在 Go modules 之前,GOPATH 用于安装二进制文件和已编译的软件包,并下载源代码到指定路径。 有关使用 GOPATH 开发的更多信息,请参阅 go.dev 上的 GOPATH 开发模式

请参考以下视频,我们将 Go SDK 从 1.16 Beta 1 更改为 1.20.1。

GOROOT

配置 GOROOT

  • 要查看当前的 GOROOT 值,请打开设置 (Ctrl+Alt+S) 并导航到 语言与框架 | Go GOROOT。 点击下拉列表并选择 Go 版本。

    如果没有可用的 Go 版本,请点击 添加 SDK 按钮 下载 Go 版本选择 Go SDK 本地副本的路径

确保提供的 Go SDK 文件夹路径包含 bin 文件夹。

  1. 打开设置 (Ctrl+Alt+S ),导航至 语言与框架 | Go GOROOT

  2. 点击 添加SDK 按钮 添加 SDK 按钮 并选择 本地

  3. 在文件浏览器中,导航到硬盘上的 SDK 版本。

  4. 点击 打开

    选择本地副本的 Go SDK

下载 Go SDK

  1. 打开设置 (Ctrl+Alt+S ),导航至 语言与框架 | Go GOROOT

  2. 请点击 添加SDK 按钮(添加 SDK 图标 )并选择 下载

  3. 版本 列表中选择 SDK 版本。

  4. 位置 字段中,指定 SDK 的路径。 要使用文件浏览器,请点击 浏览 图标 “浏览”图标

  5. 点击 OK 关闭 下载Go SDK 对话框。

    当您点击 应用OK 页面上的 GOROOT 时,IntelliJ IDEA 将开始下载和解压 Go SDK。

    下载 Go SDK

使用 asdf

asdf 是一种管理多种编程语言和工具多个版本的工具。 它允许在不同项目间切换不同的 Go 版本。 此外, asdf 可以设置不同的范围: asdf global ,为整个系统设置一个默认版本,以及 asdf local ,为特定目录设置一个版本。

IntelliJ IDEA 支持 asdf localasdf global 命令,包括指定多个版本(例如, asdf local golang 1.21.0 1.20.8)。

为项目选择一个 asdf Go 版本

  1. 通过按下 Ctrl+Alt+S 打开设置,并导航到 Go | GOROOT。 .

  2. 从列表中选择您需要的 Go 版本。

GOPATH

为不同范围配置 GOPATH

您可以为以下范围配置 GOPATH:

  • 全局GOPATH :设置适用于 IntelliJ IDEA 的特定安装的所有项目。

  • 项目GOPATH :设置仅应用于当前项目。

  • 模块GOPATH :设置仅适用于一个模块。 一个模块可以拥有与项目配置的 SDK 不同的 SDK。 它们也可以承载特定的技术或框架。

设置类型

如果您指定了所有三个 scopes,IntelliJ IDEA 会优先选择最窄的 scope。

  1. 打开设置 (Ctrl+Alt+S ),导航至 语言与框架 | Go GOPATH

  2. 根据您想要应用的范围,选择相应的部分(全局GOPATH项目GOPATH模块GOPATH )并点击按钮 添加 "添加"按钮

  3. 在文件浏览器中,导航到您想要与 GOPATH 关联的目录。

    在以下示例中,我们配置了在不同范围内使用不同的 GOPATH 目录。 IntelliJ IDEA 将使用 模块GOPATH ,因为这是配置的最窄范围。

    为不同范围配置 GOPATH
最后修改日期: 2025年 4月 24日