go mod的使用
go mod的使用步骤以及一些注意事项
使用go mod的步骤
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
go env -w GOSUMDB=gosum.io+ce6e7565+AY5qEHUk/qmHc5btzW45JVoENfazw8LielDsaI+lEbq6
go mod init
,初始化go module项目go mod tidy
,可以扫描项目中用到的库go mod download
,下载依赖go mod vendor
,可以把依赖的库全部拷贝到vendor文件夹下,离线开发的时候可以用
在go mod中添加库
直接在go module项目中,go get
即可
安装最新的库
有的时候会遇到库的代码更新了,但是release还是在老版本,这个时候在go get时加上@master就可以了,go get github.com/go-gota/gota@master
更新库
直接在go module项目中,go get -u repo
可以更新指定的包。或者go get -u
更新所有的包
module开发
需要使用到replace
定义module
module name为li.com/weixin/server
,这个li.com是可以我们自己随便写的,那么这个库互联网上肯定是没有的,所以我们要使用replace,指定这个库的路径为本身。这样我们下面import的时候就可以找到包了
在项目中import
在项目中就可以使用域名的方式来import了
NOTICE
- 之前使用
glide
的项目,可以直接运行go mod init,go mod会自动导入glide.lock里面的库和相对应的版本 - 使用
goland
的话,在IDE中还有会独立的GOPROXY设置,不会使用go env的值