【mac切换go不同版本】

news2025/1/12 12:14:58

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
访问成功
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/703874.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【IMX6ULL驱动开发学习】14.Linux驱动开发 - GPIO中断(设备树 + GPIO子系统)

代码自取【14.key_tree_pinctrl_gpios_interrupt】: https://gitee.com/chenshao777/imx6-ull_-drivers 主要接口函数: 1. of_gpio_count(获得GPIO的数量) static inline int of_gpio_count(struct device_node *np)2. kzalloc…

uniapp项目或者vue项目 封装弹框组件

baseDialog组件代码: <template><view class"base-dialog" v-if"show"><view class"mask"></view><view class"Popmenu" :style"{ width }"><view class"header">{{ title …

怎么做好技术团队规划

一、做规划包括哪些东西 业务结果&#xff1a; 直白说就是业务层面的战绩&#xff0c;你团队打造了一个公司 GMV 占比超过 50%的商城&#xff0c;或者支撑了某个快速发展业务&#xff0c;这些都是业务结果&#xff0c;用业务数字来说话。 技术创新&#xff1a; 由技术人员发起…

【DBA专属】mysql-------->>>MMM高可用集群架构

Mysql---MMM高可用集群架构 目录 MMM安装部署 环境配置&#xff1a;&#xff08;所有主机配置&#xff09; 1、主机信息 2、关闭防火墙 3、同步时区 4、配置主机解析文件 5、配置ssh免密登录 6、所有机器安装epel源 数据库配置&#xff1a; 【所有数据库均做的配置】…

蜣螂优化算法(DBO)优化VMD参数,最小包络熵、样本熵、信息熵、排列熵(适应度函数可自行选择,一键修改)包含MATLAB源代码

蜣螂优化算法是华大学沈波教授团队&#xff0c;继麻雀搜索算法(Sparrow Search Algorithm&#xff0c;SSA&#xff09;之后&#xff0c;于2022年11月27日又提出的一种全新的群体智能优化算法。已有很多学者将算法用于实际工程问题中&#xff0c;今天咱们用蜣螂优化算法优化一下…

技术干货——Selenium Python使用技巧(二)

目录 进行自动跨浏览器测试 使用CSS定位器 WebElement的HTML源代码 鼠标悬停 关闭标签而不是浏览器 处理下拉菜单 复选框处理 通过CSS选择器选择元素 总结&#xff1a; 进行自动跨浏览器测试 您可能需要在多种情况下针对不同的浏览器&#xff08;例如Firefox&#xff…

软件测试工程师的工作内容?告诉你们什么是真正的测试工程师

目录 前言 1.何为软件测试工程师&#xff1f; 2.软件测试工程师的职责&#xff1f; 3.为什么要做软件测试&#xff1f; 4.软件测试的前途如何&#xff1f; 5.工具和思维谁更重要&#xff1f; 6.测试和开发相差大吗&#xff1f; 7.成为测试工程师的必备条件 8.测试的分…

shiro和redis一起使用

Shiro 缓存配置 当我们进行授权操作时,每次都会从数据库查询用户权限信息,为了提高授权性能,可以将用户权限信息查询出来以后进行缓存,下次授权时从缓存取数据即可。 Shiro 中内置缓存应用实现,其步骤如下: 第一步:在 SpringShiroConfig 中配置缓存 Bean 对象(Shiro 框架提供)…

Talk | 阿姆斯特丹大学博士生胡涛:计算机视觉中的标签效率学习

本期为TechBeat人工智能社区第509期线上Talk&#xff01; 北京时间6月29日(周四)20:00&#xff0c;阿姆斯特丹大学博士生—胡涛的Talk将准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “计算机视觉中的标签效率学习”&#xff0c;届时将从生成式学习、数…

Drools用户手册翻译——第二章 入门(上)

因为篇幅原因&#xff0c;所以分为上下两个部分&#xff0c;主要就是通过一个交通违章项目的例子&#xff0c;带你先粗略感受一下决策模型的使用流程&#xff0c;总体来说有详细&#xff0c;也有没说清的地方&#xff0c;如果想要了解一下决策模型&#xff0c;可以进来了解一下…

试用有奖:在线试用stable diffusion 模型生成优质人物好图

一、活动介绍 InsCode是一个集成了在线IDE、在线AI编程、在线算力租赁、在线项目部署以及在线SD 模型使用的综合代码开发平台。不论你是初级软件工程师&#xff0c;还是AI大模型爱好者&#xff0c;InsCode都能帮助你快速编写代码&#xff0c;运行项目。甚至在这里你还可以一键…

某平台登录之电话号码加密

抓包 POST /******/common/****** HTTP/1.1 Host: ****** Content-Type: application/json; charsetUTF-8 Host: ****** User-Agent: okhttp/3.14.9{"type":"login","apor":"******************"}加密 由于信息原因就不泄露了 此处只…

Linux系统编程:进程的创建、终止和替换

目录 一. 进程创建 1.1 fork函数的使用 1.2 fork函数的底层实现 1.3 子进程创建的写时拷贝问题 二. 进程的退出 2.1 进程退出的场景和方法 2.2 exit和_exit函数 三. 进程的等待 3.1 为什么要有进程等待 3.2 进程等待的方法 3.2.1 进程等待的相关函数 3.2.2 进程的阻…

JS知识点汇总(六)--作用域链this

1. 什么是作用域链&#xff1f; 作用域&#xff0c;即变量&#xff08;变量作用域又称上下文&#xff09;和函数生效&#xff08;能被访问&#xff09;的区域或集合 换句话说&#xff0c;作用域决定了代码区块中变量和其他资源的可见性 1. 作用域分类 一般将作用域分成&#x…

TDengine 发布 IoT 场景下 3.0 性能对比分析报告,全方位超越 InfluxDB TimescaleDB

6 月 26 日&#xff0c;涛思数据旗下时序数据库&#xff08;Time Series Database&#xff09; TDengine 正式发布 IoT 场景下 TDengine 3.0 性能对比分析报告&#xff0c;该报告在 IoT 场景下从数据写入、压缩和查询等维度&#xff0c;对比了 TDengine 与市场其他流行的时序数…

Linux系统安装QQ最新版

腾讯在2023-05-30更新了linux版的qq&#xff0c;这次界面终于不再复古&#xff0c;好看多了。 安装步骤&#xff1a; 1.进入官网&#xff0c;寻找合适的安装包下载 https://im.qq.com/linuxqq/index.shtml 选择跟自己计算机匹配的版本&#xff0c;一般都是X86&#xff0c;如…

VMware共享文件夹

当虚拟机需要使用宿主机里的文件时&#xff0c;就需要在虚拟机设置里添加共享文件夹&#xff0c;大概过程如下&#xff1a; 虚拟机设置&#xff1a; 在centos里&#xff0c;完成上述操作后会生成一个目录 /mnt/hgfs 宿主机里的文件就在这个目录里可以看到并使用了。

编译linux内核(二)

编译linux内核 1. 准备工作1.1 下载内核文件1.2 环境准备1.3 内核命名规则 2. 编译内核2.1 升级gcc2.2 make menuconfig其他报错2.3 配置选项2.4 编译内核2.5 安装模块2.6 安装内核2.7 验证内核 3. 制作内核文件3.1 创建磁盘文件3.2 磁盘分区3.3 将磁盘分区关联到/dev/loop7设备…

化学理论知识vr沉浸式教学软件推动立足“学生老师双主体”一体化的教学模式改革

VR虚拟仿真是基于虚拟现实、3D技术、计算机技术等搭建起来的一套具有数字化、智慧化的智能教学系统&#xff0c;它以学生学习为中心&#xff0c;探索学科内容&#xff0c;使用VR虚拟现实将学科内容以3D立体化形式呈现&#xff0c;培养学生的思维创新、实操技能。 VR虚拟仿真技术…

【数据库基础】Mysql基本概念讲解与实操

文章目录 数据库基础服务器&#xff0c;数据库&#xff0c;表关系Mysql的架构Sql分类 库的操作修改默认的编码格式两种校验修改数据库删除数据库备份和恢复观察用户&#xff0c;查看连接 表的操作修改表字段长度删除某一列修改表名修改列名称 数据类型小数类型floatdecimal字符…