升级go mod采坑录
为了使用go mod把golang升级到了最新的1.12版本,go mod是1.11版本引入的,go mod的引入极大的方便了golang项目的依赖管理,同时把golang项目从GOPATH中解放了出来。
Go版本升级
没找到更好的办法,但win/linux通用
1、卸载旧版本Go
2、在安装新版本Go
Go升级后VS code无法Debug和Format
Go升级后大多数,$GOPATH/bin 目录下的可执行文件基本上都没法用了
无法Debug是因为dlv.exe 不兼容
无法格式化是因为goreturns.exe 不兼容
这里提供一份笔者编译好的 bin文件 提取码: tss6
Goland的使用
goland是目前全宇宙来说最好的写Go语言的IDE,如果之前使用goland,Go语言升级后,也把goland卸了重新安装吧,否者里面的坑太多,例如:没法Debug、没法代码重定向等等
goland设置 Go Modules,有梯子的可以忽略
File-->Settings-->Go-->Go Modules(vgo)
Proxy: https://goproxy.io
go mod init
用法:go mod init [module]
。此命令会在当前目录中初始化和创建一个新的go.mod
文件,当然你也可以手动创建一个go.mod
文件,然后包含一些module
声明,这样就比较麻烦。go mod init
命令可以帮助我们自动创建
go mod init projectName
使用这条命令时,go.mod
文件必须提前不能存在。初始化会根据引入包声明来推测模块的路径或者如果你工程中之前已经存在一些依赖包管理工具
了解更多go mod:
https://www.cnblogs.com/apocelipes/archive/2018/08/25/9534885.html
go mod proxy
Go 1.11在引入go module的同时,还引入了Go module proxy(go help goproxy)的概念,使得国内可以通过设置代理的方式,享受go mod带来的便利
linux下直接执行(临时)
export GOPROXY=https://goproxy.io
Linux: 配置永久环境变量
vi /etc/profile
export GOROOT=/usr/local/go export GOPATH=/usr/local/gopath export PATH=$PATH:$GOROOT/bin export GOPROXY="https://goproxy.io,direct"
source /etc/profile
windows下cmd(临时)
powershell $env:GOPROXY = "https://goproxy.io,direct"
windows配置系统环境变量(永久):
go 工具安装:
vscode也可以通过 F1 运行命令一次性安装所有这些工具
Go: Install/Update Tools