golang使用gomod管理项目

关于go mod 如何使用,网上教程很多,这里主要记一下自己使用过程中遇到过的问题

go env 环境变量设置

**在讲项目之前先说一下环境变量的设置问题,因为 Go 1.13 将 GOPROXY 默认成了中国大陆无法访问的 https://proxy.golang.org ,所以建议先修改 GOPROXY 保证正常使用 go 来开发应用,这里建议设置成 goproxy.cn 。可以通过命令go env -w GOPROXY=goproxy.cn,direct 设置 **

新建一个项目文件夹

在项目根目录下使用 go mod init example.com 定义项目使用gomod管理,然后项目根目录下会生成go.mod文件

使用公有库文件

这个比较简单,在代码中引入某个文件,例如:import (github.com/*** ),使用 go mod tidy 或其它程序启动命令,gomod会自动下载该文件,路径为gobin目录下的pkg下的mod文件夹

使用私用库文件

在代码中引入某个私用库文件(该文件夹下必须也有go.mod文件才可以被引用),例如import (我自己的域名myprivate.com/***) ,使用go mod tidy 或其它程序启动命令,gomod就会自动下载该文件。
go env 环境变量

GOSUMDB="sum.golang.org"
# 指示校验和服务器的地址和公钥,若要关闭校验,GOSUMDB=off。
GOPRIVATE=""
# GOPRIVATE表示私有仓库。私有仓库下的所有依赖一律从源站下载,而且不做校验(如果设置私有仓库的话,下面这两个值为默认设为私有库地址)。
GONOPROXY= 
# 不设置代理 
GONOSUMDB= 
# 不校验公钥 

我这里放几个自己的错误提示

  1. 下载路径问题
    在这里插入图片描述
    这里可以看到 下载路径上莫名多了一级 goproxy.cn。我想下载私有库的文件,但是没有从源站点下载。
    通过设置 go env -w GOPRIVATE=“私有库地址” 问题解决

  2. 引入文件命名问题在这里插入图片描述
    这里提示模块引入路径不对

    检查自己创建的 test_hy 文件(引入文件),发现go mod 文件命名为:test_hy 
    把引入的go.mod文件命名改为路径模式 devops.******/test_hy  此时再次尝试go mod tidy  问题解决
    总结:引用的gomod文件命名必须和下载的路径一致
    
  3. 关于gomod引用文件的版本问题
    被引入文件的目录结构及内容如图:
    在这里插入图片描述

    测试程序的结构及内容如图:
    当go.mod中使用5月12号的test_hy版本时 报变量c.Ma找不到。
    在这里插入图片描述
    当go.mod中使用5月13号的test_hy版本时 程序正常运行。
    在这里插入图片描述

使用本地文件

例如:我在D:/新建一个项目命名为 example,然后D:/conf 里有example项目想用的方法或变量,
那怎么用呢?首先 保证 conf下有go.mod文件。然后再 example的go.mod文件的require里直接添加
conf v0.0.1 (这里注意版本是三位数字,写的时候可以注意观察,写到三位时vscode会提示颜色会变化) 再写上 replace conf => D:\conf
conf文件内容如图:
在这里插入图片描述
测试用文件内容如图:
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值