为什么不再建议使用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 协议》,转载必须注明作者和本文链接
Was mich nicht umbringt, macht mich stärker
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!