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 是最直接的方式,不复杂但容易忽略。


