【mac切换go不同版本】

1.需求是:mac本机想要同时拥有几个版本的go,并可以方便切换
第一种brew link切换失败,手动切换成功
第二种gvm方法失败
第三种docker成功

(别看前面啰里八嗦,我只是记录一下,请直接跳到第三个)

第一种brew(内含手动切换)

1.我借鉴了下面链接的方法,尝试了半天用brew ublink,brew link 不管用
https://blog.csdn.net/weixin_45413603/article/details/125999543
找了半天资料,看go env应该是配置文件都没有更新,不太理解brew link的原理,想着看能不能手动切换一下。
排查思路
如果还没有成功可以用which go 看一下go的执行文件,
2.(手动切换前提,你得有2个版本的go)
进入配置文件,配置好下面几个
export PATH=/usr/local/go/bin:$PATH(go的bin下)
export GOROOT=/usr/local/go(go的位置)
export GOPATH=/Users/test/goproject(go项目位置)
export GOBIN=/Users/test/goproject/bin(go项目位置的bin下)
刷新配置文件
source ~/.bash_profile

go版本切换成功。好家伙每次都要配置这个,直接放弃brew link和手动切换。

第二种安装gvm工具,

参考链接:https://mp.weixin.qq.com/s?__biz=MzAxMTA4Njc0OQ==&mid=2651453258&idx=1&sn=5830d289eec61d990ce05160133156b2&chksm=80bb29b8b7cca0aec1788eb4fe795f8ee009b22038f2687d7d1b96085d95b552995dcfb02e21&scene=27
人讲的是真详细啊,我是真装不上,菜哭了,有安装成功的可以教教我,我直接放弃。

第三种是别人和我说用docker安装多方便,下面是成功步骤,真好使

1.下载golang
docker pull golang/golang:指定版本

2.先运行(注意-v后面需要挂载的是 本机go项目存放的位置:容器存放项目的位置)(容器存放的项目需要放在/go/src/下面,只有项目需要放在这个位置,其他的go脚本可以放在其他位置)
docker run -itd -p 127.0.0.1:8888:8888 -v /本机位置/文件夹:/go/src/文件夹 --name golang1.20.5 golang-local 镜像名:Tag

3.进入容器
docker exec -it 容器名/容器id /bin/bash

4.配置golang环境变量
go env -w GO111MODULE=on
go env -w GOPROXY=“https://goproxy.cn”
go env -w GOPATH="/go

5.配置结束可以查看一下go env

6.配置成功后,可以在本机文件夹下先测试一个main.go

package main
 
import (
    "fmt"
)
 
func main() {
    fmt.Println("Hello Word")

}

7.在容器内执行go run main.go

输出Hello Word ,代表安装成功

8.然后在本机文件夹下测试项目,用的是gin框架
mian.go

package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()

    r.GET("/test", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "test",
        })
    })
    r.Run(":8888")
}

9.在容器内先执行go mod init创建go.mod文件,

10.后安装依赖go mod tidy

11.安装成功后执行go run main.go
访问成功
【mac切换go不同版本】_第1张图片

你可能感兴趣的:(go,macos,golang)