go module

go mod

go modules
—go modules是Go语言的项目依赖管理工具(依赖包等管理),淘汰现有的GOPATH的使用模式。如果项目里有go.mod文件,可以看到里面包含了项目依赖包的路径。如果没有,则可以利用go mod init初始化。

  • require
    列出了项目所需要的各个依赖库以及它们的版本。比如,v0.13.0表示版本号:
	require{
		github.com/apache/thrift v0.13.0
	}
  • exclude
    —如果想在项目中跳过某个依赖库的某个版本,可以使用该字段
	exclude{
		github.com/apache/thrift v0.13.0
	}
  • go mod常用命令
	1.go mod init name:初始化并写入一个新的go.mod文件到当前目录,如果存在则会自动跳过命令
	2.go mod download:下载依赖包到本地
	3.go mod tidy:增加缺少的包,删除无用的包(并且会下载新增的依赖包)

常见问题

  • 项目下下来了,import的全部提示无效“Cannot resolve symbol ‘go-redis’ ”
  1. 项目是否包含go.mod文件,如果没有,则要初始化。
   go mod init go.mod   //创建一个go.mod文件,记住一定要加上go.mod,否则会创建失败
   go mod tidy          //会自动补全require并下载对应的依赖包
  1. 看下External Libraries下的Go Modules是否有依赖包。如果没有,手动下载
	go mod download  //下载项目中依赖的包(go.mod文件中,require部分)
  • 项目无法导入github上面的包
  1. 确认包路径是否生效及是否有权限访问,直接把链接贴到浏览器看能否打开
  2. 如果能打开,再看下是否设置了GOPROXY,没有设置或者设置了国外的代理都有可能导致无法下载

关于项目的依赖包管理

主要有两种方式,一是:GOPATH,另一种是Modules方式

  1. GOPATH
    在1.5版本之前,go的所有依赖包都放在固定地址GOPATH(环境变量设置),没有版本控制。这种方式在多个项目依赖不同版本的package的时候容易冲突。
  2. Modules机制
    在1.11版本推出了modules机制,简称mod。在项目根目录下执行命令来查询当前项目的模式,如果是on,则表示是mod模式管理。如果是mod模式,则可以利用上述的go mod命令行来管理。
    go env GO111MODULE
    

goland在settling里面设置。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值