• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go项目管理GOPATH与gomod

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
  • 允许设置多个路径
  • GOPATYH目录结构
    goWorkSpapce //GOPATH目录
    -- bin //编译可执行文件存放的路径,可自动生成
    -- pkg ///.a中间文件存放路径,可自动生成
    -- src //源码路径

GO get

  • 1.从远程下载需要的包 2.执行go install

GO install

  • 编译生成可执行文件,放在GOBIN路径下,GOBIN默认是在GOPATH/bin文件夹下

  • 如果不用额外方式改变环境变量(公司目前用的是sh脚本编译),是编译不过的。报错:can’t load package: package .: no buildable Go source files in ***

编译问题

  • 问题:多个project会导致多个GOPATH目录,而go优先使用第一个GOPATH目录,会导致编译冲突
  • 解决方法
    • 使用如下目录:多个project或工具组件都放在GOPATH的src下

    • 此时GOBIN可以为空

    • GOPATH目录和GOPATH下的src不应该添加到源代码管理中,而是各个project目录myApp1、myApp2、myApp3各自时独立的进行源代码管理

    • goWorkSpace     // goWorkSpace为GOPATH目录
        -- bin
           -- myApp1  // 编译生成
           -- myApp2  // 编译生成
           -- myApp3  // 编译生成
        -- pkg
        -- src
           -- common 1
           -- common 2
           -- common utils ...
           -- myApp1     // project1
              -- models
              -- controllers
              -- others
              -- main.go 
           -- myApp2     // project2
              -- models
              -- controllers
              -- others
              -- main.go 
           -- myApp3     // project3
              -- models
              -- controllers
              -- others
              -- main.go 
      

go mod包管理

  • 优势:不受GOPATH的限制,可以在任意的文件夹下创建工程
  • 例子:在GoLand中使用go mod模式创建工程,会自动生成go.mod文件,然后就可以正产编译包了

命令行使用方式

  • 设置变量GO111MODULE为on

  • go mod init + projectname:初始化mod

  • go.mod称为模块根,定义了它所在目录为一个模块

  • 使用go build main.go编译


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go加密算法:非对称加密(三)--Elliptic - eilinge发布时间:2022-07-10
下一篇:
teeporxy.go发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap