在线安装
网上很多,推荐使用 brew 安装。
离线安装
我个人更倾向于离线安装,这样自己能更好的管理安装文件。
# 创建一个安装过程的操作目录 softs
edy@edydeMacBook-Pro ~ % cd
edy@edydeMacBook-Pro ~ % mkdir softs
edy@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/go
edy@edydeMacBook-Pro softs % sudo tar -xvf go1.20.4.darwin-amd64.tar.gz -C /usr/local
# 查看安装目录
edy@edydeMacBook-Pro softs % cd /usr/local/go
edy@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_profile
edy@edydeMacBook-Pro ~ % vi .zshrc
'''
# home path 也就是当前用户 ~ 的路径
HOME_EDY=/Users/edy
# golang install
export 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/amd64
edy@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.4
edy@edydeMacBook-Pro softs % cd /usr/local
edy@edydeMacBook-Pro local % cd go
edy@edydeMacBook-Pro go % ls
# CONTRIBUTING.md PATENTS SECURITY.md api codereview.cfg lib pkg test
# LICENSE README.md VERSION bin doc misc src
edy@edydeMacBook-Pro go % cd ..
edy@edydeMacBook-Pro local % mv go [email protected]
# mv: rename go to [email protected]: Permission denied
edy@edydeMacBook-Pro local % sudo mv go [email protected]
# Password:
edy@edydeMacBook-Pro local % sudo mkdir go
edy@edydeMacBook-Pro local % sudo mv [email protected] go/
edy@edydeMacBook-Pro local % cd go
edy@edydeMacBook-Pro go % ls
# [email protected]
# 可以看看,go已经找不到了
edy@edydeMacBook-Pro go % go version
# zsh: command not found: go
# OK,准备安装其他版本
######################################
# 安装1.16.8
# 建议:go的安装简单,如果想要高级方便,可以自己做一个脚本
######################################
# 创建一个安装过程的操作目录 softs
edy@edydeMacBook-Pro ~ % cd
edy@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/go
edy@edydeMacBook-Pro softs % cd /usr/local/go
edy@edydeMacBook-Pro go % ls
# go [email protected]
# 为了方便我后边通过设置版本号,来实现版本切换,都用同一格式: go@version
edy@edydeMacBook-Pro go % sudo mv go [email protected]
edy@edydeMacBook-Pro go % ls
# [email protected] [email protected]
# 配置环境
edy@edydeMacBook-Pro ~ % vi .zshrc
'''
# home path 也就是当前用户 ~ 的路径
HOME_EDY=/Users/edy
# 控制go版本
MYGOVERSION="1.16.8"
# golang install
export 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/amd64
edy@edydeMacBook-Pro ~ % which go
# /usr/local/go/[email protected]/bin/go
# ok 到此安装完毕
# 以后切换版本,只需要在 `~/.zshrc` 文件中修改 MYGOVERSION 这个环境变量即可
# 当然,如果想要高级方便,可以做一个脚本,以命令参数的方式执行脚本实现