下面由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 命令初始化,如:

    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

    以上内容整理自: 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吗的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除

  • 相关标签:go
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    网页生成APP,用做网站的技术去做APP:立即创建

    手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包

    • 上一篇:go语言make的用法有哪些
    • 下一篇:详解GoLang实现基于gin+jaeger的opentracing中间件

    相关文章

    相关视频


    • 记录Golang Recover的一个小坑
    • 关于golang cpu性能分析
    • 详解Golang编译成DLL文件
    • 两个Golang超大文件读取的方案
    • 解决golang中vendor引起的相同类型,却提...
    • 你知道为啥不再建议使用GOPATH以及如何使用Go...
    • SSDB GO语言api文档
    • go语言介绍和环境搭建1
    • go语言介绍和环境搭建2

    视频教程分类

    • php视频教程
    • html视频教程
    • css视频教程
    • JS视频教程
    • jQuery视频教程
    • mysql视频教程
    • Linux视频教程
    • Python视频教程
    • Laravel视频教程
    • Vue视频教程

    专题

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