在线装置
网上很多,举荐应用 brew 装置。
离线装置
我集体更偏向于离线装置,这样本人能更好的治理安装文件。
# 创立一个装置过程的操作目录 softsedy@edydeMacBook-Pro ~ % cdedy@edydeMacBook-Pro ~ % mkdir softsedy@edydeMacBook-Pro ~ % cd softs# 下载离线安装包# https://go.dev/dl/edy@edydeMacBook-Pro softs % wget -c https://golang.google.cn/dl/go1.20.4.darwin-amd64.tar.gz# 装置目录:/usr/local/goedy@edydeMacBook-Pro softs % sudo tar -xvf go1.20.4.darwin-amd64.tar.gz -C /usr/local# 查看装置目录edy@edydeMacBook-Pro softs % cd /usr/local/goedy@edydeMacBook-Pro go % ls# CONTRIBUTING.md PATENTS SECURITY.md api codereview.cfg lib pkg test# LICENSE README.md VERSION bin doc misc src# 配置环境变量 .zshrc 或 .bash_profileedy@edydeMacBook-Pro ~ % vi .zshrc'''# home path 也就是以后用户 ~ 的门路HOME_EDY=/Users/edy# golang installexport GOROOT="/usr/local/go"export PATH=$PATH:$GOROOT/bin# golang use env# 增加多个以冒号 : 隔开export GOPATH=$HOME_EDY/go:$HOME_EDY/chuyt# go可执行文件目录export GOBIN=$HOME_EDY/go/bin:$HOME_EDY/chuyt/bin# 将GOBIN增加到零碎环境PATH中export PATH=$PATH:$GOBIN# 将GOPROXY代理改为国内代理export GOPROXY=https://goproxy.cn,direct# mod设置export GO111MODULE="on"'''# 加载环境 (也能够从新关上一个shell会话)edy@edydeMacBook-Pro ~ % source .zshrc# 查看环境 /usr/local/go/bin 曾经存在edy@edydeMacBook-Pro ~ % echo $PATH# 执行查看是否装置失常edy@edydeMacBook-Pro ~ % go version# go version go1.20.4 darwin/amd64edy@edydeMacBook-Pro ~ % go env# GO111MODULE="on"# GOARCH="amd64"# GOBIN="/Users/edy/go/bin:/Users/edy/chuyt/bin"# GOMODCACHE="/Users/edy/go/pkg/mod"# GOOS="darwin"# GOPATH="/Users/edy/go:/Users/edy/chuyt"# GOPROXY="https://goproxy.cn,direct"# GOROOT="/usr/local/go"# GOVERSION="go1.20.4"# GCCGO="gccgo"# 到此装置结束
多个版本治理
随着工夫的推移,我的项目迭代次数减少,不同版本的我的项目对应的go版本也在变动,尤其有时调研一些开源我的项目时,go版本也和本人以后应用的不统一。
所以,我须要装置多个go版本,并心愿能够不便切换。
网上应该是有这类计划的,没有细查,这里介绍下我的解决办法,还是以离线装置的形式为例。
# 背景, 目前装置了1.20.4, 须要再装置一个1.16.8####################################### 备份之前的版本1.20.4# 同时,为了不便当前多个go版本治理:# 在/usr/local/go目录下治理多个版本,而不在间接是某一个go版本####################################### 备份1.20.4edy@edydeMacBook-Pro softs % cd /usr/localedy@edydeMacBook-Pro local % cd goedy@edydeMacBook-Pro go % ls# CONTRIBUTING.md PATENTS SECURITY.md api codereview.cfg lib pkg test# LICENSE README.md VERSION bin doc misc srcedy@edydeMacBook-Pro go % cd ..edy@edydeMacBook-Pro local % mv go go@1.20.4# mv: rename go to go@1.20.4: Permission deniededy@edydeMacBook-Pro local % sudo mv go go@1.20.4# Password:edy@edydeMacBook-Pro local % sudo mkdir goedy@edydeMacBook-Pro local % sudo mv go@1.20.4 go/edy@edydeMacBook-Pro local % cd goedy@edydeMacBook-Pro go % ls# go@1.20.4# 能够看看,go曾经找不到了edy@edydeMacBook-Pro go % go version# zsh: command not found: go# OK,筹备装置其余版本####################################### 装置1.16.8# 倡议:go的安装简单,如果想要高级不便,能够本人做一个脚本####################################### 创立一个装置过程的操作目录 softsedy@edydeMacBook-Pro ~ % cdedy@edydeMacBook-Pro ~ % cd softs# 下载离线安装包# https://go.dev/dl/edy@edydeMacBook-Pro softs % wget -c https://golang.google.cn/dl/go1.16.8.darwin-amd64.tar.gz# 装置# 装置目录:/usr/local/go目录下edy@edydeMacBook-Pro softs % sudo tar -xvf go1.16.8.darwin-amd64.tar.gz -C /usr/local/goedy@edydeMacBook-Pro softs % cd /usr/local/goedy@edydeMacBook-Pro go % ls# go go@1.20.4# 为了不便我后边通过设置版本号,来实现版本切换,都用同一格局: go@versionedy@edydeMacBook-Pro go % sudo mv go go@1.16.8edy@edydeMacBook-Pro go % ls# go@1.16.8 go@1.20.4# 配置环境edy@edydeMacBook-Pro ~ % vi .zshrc'''# home path 也就是以后用户 ~ 的门路HOME_EDY=/Users/edy# 管制go版本MYGOVERSION="1.16.8"# golang installexport GOROOT="/usr/local/go/go@$MYGOVERSION"export PATH=$PATH:$GOROOT/bin# golang use env# 增加多个以冒号 : 隔开export GOPATH=$HOME_EDY/go:$HOME_EDY/chuyt# go可执行文件目录export GOBIN=$HOME_EDY/go/bin:$HOME_EDY/chuyt/bin# 将GOBIN增加到零碎环境PATH中export PATH=$PATH:$GOBIN# 将GOPROXY代理改为国内代理export GOPROXY=https://goproxy.cn,direct# mod设置export GO111MODULE="on"'''# 加载环境 (也能够从新关上一个shell会话)edy@edydeMacBook-Pro ~ % source .zshrc# 看看怎么样edy@edydeMacBook-Pro ~ % go version# go version go1.16.8 darwin/amd64edy@edydeMacBook-Pro ~ % which go# /usr/local/go/go@1.16.8/bin/go# ok 到此装置结束# 当前切换版本,只须要在 `~/.zshrc` 文件中批改 MYGOVERSION 这个环境变量即可# 当然,如果想要高级不便,能够做一个脚本,以命令参数的形式执行脚本实现