为什么不再建议使用GOPATH以及如何使用Go Modules
原因: 有了 Go Modules
历史:
一个环境变量,用于编译项目时,告诉GO去哪里读取源文件
- 带来的限制规则:
- 要求将项目写在GOPATH下
- 需根据项目实际的URL路径创建目录,如github.com/foo/bar => $GOPATH/src/github.com/foo/bar
- 没有内置的对扩展包的版本追踪
有了Go Modules之后
- 一行命令迁移旧有项目
- 只影响开发环境,不影响生产环境
- 兼容GOPATH,依然可以依据个人喜好,在使用GOPATH
转向Go Modules
版本要求 >=1.11
go mod init
命令初始化,如:mkdir myProject/ cd myProject go mod init github.com/myGithubName/myProject
GOPATH项目迁移,如:
mv ~/go/src/github.com/myGithubName/myProject ~/anywhere_else/ cd ~/anywhere_else/myProject go mod init github.com/myGithubName/myProject
以上内容整理自: medium.com/@vingarcia00/golang-why...
另外,使用 Goland IDE的话,打开Settings,在 Go -> Go Modules(vgo) ,勾选Enable Go Modules (vgo) Integration,不然扩展包无法被识别到。
本作品采用《CC 协议》,转载必须注明作者和本文链接