你知道为啥不再建议使用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吗的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Golang在linux系统上获取terminal终端的宽度

ctx.request().body only fetch once

10 Golang map的正确使用姿势

使用viper读取nacos配置(开源)

[系列] Go - 统一定义 api 错误码

Golang (v2)分布式id生成系统,高性能、高可用、易扩展的id生成服务

Golang的内存泄漏分析

Golang 获取三种不同的路径方法(执行路径,项目路径,文件路径)

Go语言基础

详解使用air自动重载代码

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




打赏

取消

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

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

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

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

评论

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