mac上安装多个golang

在线安装

网上很多,推荐使用 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 这个环境变量即可
# 当然,如果想要高级方便,可以做一个脚本,以命令参数的方式执行脚本实现

你可能感兴趣的:(macosgo)