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

go_mod_01 module name为li.com/weixin/server,这个li.com是可以我们自己随便写的,那么这个库互联网上肯定是没有的,所以我们要使用replace,指定这个库的路径为本身。这样我们下面import的时候就可以找到包了

在项目中import

go_mod_02 在项目中就可以使用域名的方式来import了

NOTICE

  • 之前使用glide的项目,可以直接运行go mod init,go mod会自动导入glide.lock里面的库和相对应的版本
  • 使用goland的话,在IDE中还有会独立的GOPROXY设置,不会使用go env的值

参考资料