Go推荐使用Modules管理依赖,项目无需放在GOPATH内;通过go mod init创建模块,go.get添加依赖,GOPATH默认用于缓存和bin目录,GO111MODULE=on启用模块模式,现代Go版本默认开启。

在 Go 语言开发中,GO111MODULE、GOPATH 和 go.mod 是控制依赖管理和项目结构的关键因素。正确配置它们能避免包导入错误和版本冲突。
在 Go 1.11 之前,所有项目必须放在 GOPATH/src 目录下,依赖通过相对路径或全局下载管理。从 Go 1.11 开始引入 Go Modules,允许项目脱离 GOPATH,使用 go.mod 文件声明模块名和依赖。
现在推荐使用 Go Modules,GOPATH 的作用已弱化,主要用于存放模块缓存(GOPATH/pkg/mod)和可执行文件(GOPATH/bin)。
默认情况下,GOPATH 在 Unix 系统上是 $HOME/go,Windows 上是 %USERPROFILE%\go。你可以自定义:
立即学习“go语言免费学习笔记(深入)”;
export GOPATH=$HOME/mygopath
export PATH=$PATH:$GOPATH/bin
GOPATH = C:\Users\YourName\go
PATH 添加 %GOPATH%\bin
设置完成后,运行 go env GOPATH 查看当前值。
现代 Go 开发应启用模块模式。可通过环境变量控制:
go env -w GO111MODULE=on
实际上,Go 1.16+ 默认开启,无需手动设置。初始化项目:
go mod init example/project
这会生成 go.mod 文件,内容类似:
module example/project
go 1.21
添加依赖时,例如:
go get github.com/gin-gonic/gin
Go 会自动更新 go.mod 和生成 go.sum 文件。
使用 Go Modules 时,项目无需放在 GOPATH 内。推荐结构:
~/projects/myapp/
├── go.mod
├── main.go
└── internal/
└── service/
只要目录中有 go.mod,Go 就会以模块模式工作,忽略 GOPATH 的 src 路径限制。
基本上就这些。现在的做法是:保留默认 GOPATH 用于缓存,专注用 go.mod 管理依赖,项目放任意位置即可。
以上就是Golang如何设置GoPath与GoMod的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号