go Modules 缓存路径可通过 GOMODCACHE环境变量 自定义。1. 设置 GOMODCACHE 为指定路径,如 linux/macos 下 export GOMODCACHE=”$HOME/.gocache/mod”;windows 用户可在 PowerShell 或 CMD 中设置对应环境变量。2. 执行
go env GOMODCACHE验证路径是否生效,并通过go list -m all确认模块正常加载。3. 为持久化配置,将 export 语句写入~/.zshrc 或~/.bashrc 并 source 生效。4. 可选设置 GOCACHE 和 GOPATH 以集中管理 Go 缓存与依赖,便于备份迁移。正确设置后,所有模块将缓存至新路径。

Go Modules 的缓存路径默认存储在 $GOPATH/pkg/mod,但你可以通过设置 环境变量 来自定义模块缓存的位置。以下是配置 Go Modules 缓存路径的方法。
1. 设置 GOproxy 和 GOMODCACHE 环境变量
虽然 GOPROXY 不直接影响本地缓存路径,但它控制模块的下载来源。真正用于指定模块缓存目录的是 GOMODCACHE 环境变量。
使用以下命令设置自定义缓存路径:
- Linux/macOS(bash/zsh):
export GOMODCACHE="/your/custom/path/mod" - windows(PowerShell):
$env:GOMODCACHE = "C:yourcustompathmod" - Windows(CMD):
set GOMODCACHE=C:yourcustompathmod
设置完成后,所有通过 go mod download 或构建项目时拉取的模块都会存储到你指定的目录中。
2. 验证配置是否生效
运行以下命令查看当前模块相关路径:
go env GOMODCACHE
输出应为你设置的自定义路径。也可以进入项目目录执行:
go list -m all
确认模块加载正常,且缓存文件出现在新路径中。
3. 永久保存配置
为了让设置长期有效,将环境变量写入 shell 配置文件:
- 编辑
~/.zshrc或~/.bashrc:echo 'export GOMODCACHE="$HOME/.gocache/mod"' >> ~/.zshrc - 重新加载配置:
source ~/.zshrc
4. 其他相关路径(可选)
除了 GOMODCACHE,你还可以一并设置其他缓存路径以集中管理:
- GOCACHE:编译中间产物缓存
export GOCACHE="/your/custom/path/cache" - GOPATH:如果仍使用 GOPATH 模式
export GOPATH="/your/custom/path"
这样可以将所有 Go 相关数据集中存放,便于备份或迁移。
立即学习“go 语言免费学习笔记(深入)”;
基本上就这些。设置 GOMODCACHE 是最直接的方式,不复杂但容易忽略。


