你知道为啥不再建议使用GOPATH以及如何使用Go Modules吗


本文摘自php中文网,作者藏色散人,侵删。

下面由golang教程栏目给大家介绍为什么不再建议使用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 命令初始化,如:

    1

    2

    3

    mkdir myProject/

    cd myProject

    go mod init github.com/myGithubName/myProject

  • GOPATH项目迁移,如:

    1

    2

    3

    mv ~/go/src/github.com/myGithubName/myProject ~/anywhere_else/

    cd ~/anywhere_else/myProject

    go mod init github.com/myGithubName/myProject

    以上内容整理自: https://medium.com/@vingarcia00/golang-why-not-use-the-gopath-87521259663a
    另外,使用 Goland IDE的话,打开Settings,在 Go -> Go Modules(vgo) ,勾选Enable Go Modules (vgo) Integration,不然扩展包无法被识别到。

更多相关技术文章,请访问go语言栏目!

以上就是你知道为啥不再建议使用GOPATH以及如何使用Go Modules吗的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Go 语言数据类型

Go语言 if 语句

Golang通用链接池的实现

Golang中的联合体

(公众号新人进来)有趣的练习,提升Go水平

Go-carbon 1.2.4 版本发布,新增系列时间比较方法

Golang判断文件或文件夹是否存在

解决Go get下载包失败问题

python和Go语言有什么区别

使用cron创建定时任务【Golang 入门系列八】

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...