brew 查看有哪些 golang版本可用 :
$ brew search go
==> Formulae
algol68g go-jira gofabric8 goolabs gx-go mongodb@3.6
arangodb go-statik goffice goose Hugo mongoose
argon2 go@1.4 gollum gopass jfrog-cli-go pango
bogofilter go@1.8 golo gor jpegoptim pangomm
cargo-completion go@1.9 gom goreleaser lego percona-server-mongodb
certigo goaccess gomplate gost lgogdownloader pygobject
cgoban goad goocanvas gosu libgosu pygobject3
clingo gobby goofys gotags mongo-c-driver ringojs
django-completion gobject-introspection google-authenticator-libpam goto mongo-cxx-driver spaceinvaders-go
forego gobuster google-benchmark gource mongo-orchestration spigot
fuego gocr google-java-format govendor mongodb svgo
gnu-go gocryptfs google-sparsehash gowsdl mongodb@3.0 wego
go godep google-sql-tool gox mongodb@3.2 wireguard-go
go-bindata goenv googler gst-plugins-good mongodb@3.4
brew 安装新版本的go : 使用 brew 方式安装速度比较慢 (不推荐)
$ brew install go@1.9
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/go@1.9-1.9.7.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring go@1.9-1.9.7.high_sierra.bottle.tar.gz
==> Caveats
A valid GOPATH is required to use the `go get` command.
If $GOPATH is not specified, $HOME/go will be used by default:
https://golang.org/doc/code.html#GOPATH
You may wish to add the GOROOT-based install location to your PATH:
export PATH=$PATH:/usr/local/opt/go@1.9/libexec/bin
This formula is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/go@1.9/bin:$PATH"' >> ~/.bash_profile
==> Summary
/usr/local/Cellar/go@1.9/1.9.7: 7,668 files, 294.2MB
升级go版本 :
$ brew upgrade go
官网下载 (推荐) : https://golang.org/dl/ https://studygolang.com/dl (国内下载速度比较快) https://gomirrors.org/ https://golang.google.cn/dl/ (推荐)
选择合适的版本 (Mac可以下载 go1.17.3.darwin-amd64.tar.gz),直接点击下载即可,下载完成根据指示完成安装
配置 golang 环境变量 : PROXY 推荐使用 https://goproxy.io 或 https://goproxy.cn
# vi ~/.bash_profile
或
# vi ~/.zshrc
# GOLANG_HOME
export GOLANG_HOME=/Users/chenshun131/Desktop/AllMyFile/Tool/go/go
export PATH=$PATH:$GOLANG_HOME/bin
# 配置 GOPROXY 环境变量,加速代码访问速度
export GOPROXY=https://goproxy.cn,direct
# 依赖包下载地址
export GOPATH=$GOLANG_HOME
# source ~/.bash_profile
或
# source ~/.zshrc
$GOROOT : 表示 Go 在电脑上的安装位置,它的值一般都是 $HOME/go,当然,也可以安装在别的地方
$GOARCH : 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm
$GOOS : 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 windows
$GOBIN : 表示编译器和链接器的安装位置,默认是 $GOROOT/bin,如果使用的是 Go 1.0.3 及以后的版本,一般情况下可以将它的值设置为空,Go 将会使用前面提到的默认值
$GOPATH : 代码存放的目录,默认 $HOME/go。新建go的代码目录,下面建立bin pkg src。其中,bin存放编译后的可执行文件;pkg存放编译后的包文件;src存放项目源文件。一般,bin和pkg目录可以不创建,go命令会自动创建 (如 go install),只需要创建src目录即可
go常有的代理有 :
export GOPROXY=https://goproxy.cn,direct
export GOPROXY=https://goproxy.io,direct
export GOPROXY=https://mirrors.aliyun.com/goproxy/
可以执行下面的命令修改GOPROXY :
# go env -w GO111MODULE=on
# go env -w GOPROXY=https://goproxy.cn,direct
下载地址 : https://studygolang.com/dl
上传并解压 go :
# rz # 上传 go1.18.4.linux-amd64.tar.gz
# tar -zxvf go1.18.4.linux-amd64.tar.gz -C /opt/module/
配置环境变量 :
# vi /etc/profile
...
## GO
export GOROOT=/opt/modules/go
export PATH=$PATH:$GOROOT/bin
# 依赖包下载地址
export GOPATH=$HOME/gopath
# source /etc/profile
开启go module :
# go env -w GO111MODULE=on
# go env -w GOPROXY=https://goproxy.cn,direct
通过查看 go 版本检测是否安装成功 :
# go version
go version go1.18.4 linux/amd64
修改 Preferences -> Tools -> File Watchers 中增加 go fmt 和 goimports