Go Module升级依赖和设置代理
go module为官方出的一款依赖管理工具,社区大部分的应用都以及采用这种方式来进行依赖包管理,下面是我日常开发过程中用到的一些命令记录。
设置代理
由于gfw
的存在,导致国外的好多资源无法访问,golang的一些依赖包 golang.org/x/image
等也无法下周,所以就需要使用代理软件shadowsocket
来访问,在ss
中开启本地http端口代理,一般为1080
端口,然后再终端中设置环境变量http_proxy
https_proxy
.
set http_proxy=http://127.0.0.1:1080
set https_proxy=http://127.0.0.1:1080
之后就可以愉快的下载依赖啦~
常用方法
初始化
进入到项目中,用go mod init github.com/xxx/xxx
添加依赖
添加依赖: go get github.com/xxx/xxx
添加指定版本: go get github.com/xxx/xxx@v1.6.2
添加指定版本范围: go get github.com/xxxx/xxx@'<v1.6.2'
添加指定commit的版本 git commit: go get github.com/xxxx/xxx@q2516faf3
升级依赖
升级 major 版本: go get -u github.com/xxx/xxx
升级全部依赖的 minor 或 patch 版本: go get -u
升级全部依赖的 patch 版本: go get -u=patch
补全清理依赖
go mod tidy
这个命令会下载缺失依赖,并清理无用的依赖(包括清理 go.mod 中的记录)
发布依赖代码包
go mod vendor
会将依赖包全部打包的项目的vendor目录, 编译的时候可以指定-mod=vendor