当前位置: 首页 > news >正文

compile: version “go1.19“ does not match go tool version “go1.18.1“

在这里插入图片描述

**

1 安装了新版本的go后 为什么go version 还是旧版本?

**

如果你已经按照上述步骤安装了新版本的 Go,但 go version 命令仍然显示旧版本,可能是因为你的环境变量设置不正确或未正确生效。你可以尝试以下方法来解决问题:

重新加载配置文件:运行以下命令以重新加载你的 shell 配置文件,使更改生效:

source ~/.bash_profile   # 或者使用相应的配置文件,如 ~/.bashrc 或 ~/.zshrc

确保在终端中运行该命令后,你的配置文件中的新 Go 版本的环境变量设置已正确加载。

检查环境变量设置:运行以下命令来检查当前的 Go 环境变量设置:

go env

确认输出中的 GOROOTPATH 是否指向你安装的新版本的 Go。

检查路径优先级:在终端中运行以下命令,查看系统在终端中搜索可执行文件时的路径优先级:

echo $PATH

确认新版本的 Go 所在路径在 $PATH 中的位置是否在旧版本之前。如果不在正确的位置,你可以编辑你的 shell 配置文件,将新版本的 Go 路径添加到 $PATH 变量的前面。

例如,在 ~/.bash_profile~/.bashrc 中添加以下行:

````shell
export PATH=/path/to/new/go/bin:$PATH

/path/to/new/go 替换为你安装的新版本 Go 的路径。

检查安装目录:确保你安装的新版本的 Go 在正确的目录下。默认情况下,新版本的 Go 应该被安装到 /usr/local/go 目录下。

如果以上步骤都没有解决问题,可能还有其他因素导致旧版本的 Go 仍然被使用。你可以尝试重新启动终端或计算机,以确保环境变量和配置的正确加载。如果问题仍然存在,建议卸载旧版本的 Go,并重新按照正确的步骤安装新版本的 Go。

请确保在更改或卸载任何软件之前备份重要的文件,并谨慎操作。


如果你已经确认 GOROOT 和 PATH 环境变量都正确指向了新版本的 Go,但 go version 仍然显示旧版本,可能是因为系统中存在多个 go 可执行文件,而旧版本的 go 在路径中的优先级更高。

你可以尝试以下方法来解决这个问题:

指定完整路径运行 go:在终端中,使用新版本 Go 的完整路径运行 go 命令。例如,假设新版本 Go 的路径为 /usr/local/go/bin/go,则在终端中运行以下命令:

/usr/local/go/bin/go version

如果显示的是新版本的 Go,说明新版本已正确安装并可用。这表明问题可能是由于旧版本的 go 仍在系统中的其他路径中。

搜索其他 go 可执行文件:在终端中运行以下命令,搜索系统中的所有 go 可执行文件:

which -a go

这将列出所有系统中找到的 go 可执行文件的路径。检查输出中是否有其他版本的 go,并注意它们在路径中的位置。

删除旧版本的 go:如果你确定找到了旧版本的 go,可以考虑将其删除或重命名,以便新版本的 go 在路径中优先使用。

注意:在执行此操作之前,请确保备份旧版本的 go 或确认你不再需要它。

检查系统的 PATH 顺序:检查系统中的 PATH 环境变量的顺序,确保新版本的 Go 所在路径在旧版本之前。你可以编辑你的 shell 配置文件,将新版本的 Go 路径添加到 $PATH 变量的前面。

例如,在 ~/.bash_profile 或 ~/.bashrc 中添加以下行:

export PATH=/usr/local/go/bin:$PATH

如果你已经在正确的位置设置了新版本的 Go 路径,可以尝试重新加载配置文件,然后再次验证 go version
如果以上方法仍然没有解决问题,可能需要进行更进一步的调查和排查。你可以尝试在 Go 官方论坛或其他相关社区寻求帮助,或者尝试重新安装新版本的 Go。

**

2 homebrew 卸载go

**

如果你使用 Homebrew 安装了 Go,并希望卸载它,可以按照以下步骤进行操作:

打开终端:打开终端应用程序。

检查 Go 安装:运行以下命令,检查是否已通过 Homebrew 安装了 Go:

brew list

如果在列表中看到与 Go 相关的包(如 gogolang),则表示 Go 已通过 Homebrew 安装。

卸载 Go:运行以下命令,使用 Homebrew 卸载 Go:

brew uninstall go

这将卸载 Go 及其关联的包和文件。检查残留文件:运行以下命令,检查是否还有残留的 Go 文件:shell
复制
which go

如果输出显示 /usr/local/bin/go 或其他 Go 可执行文件的路径,表示仍然存在残留文件。

删除残留文件:如果发现有残留文件,请使用以下命令删除它们(确保谨慎操作):

sudo rm -rf /usr/local/go

这将删除 Go 安装目录。验证卸载:运行以下命令验证 Go 是否已成功卸载:
go version

如果提示找不到 go 命令或显示其他错误信息,则表示 Go 已成功卸载。
通过按照上述步骤,你可以使用 Homebrew 卸载 Go。请注意,在卸载 Go 之前,确保备份你的重要文件和项目,并谨慎操作以避免意外删除其他文件。

3 homebrew 中的go version优先级 为什么比 系统中的go高?

在使用 Homebrew 安装 Go 时,Homebrew 会将 Go 安装到 Homebrew 的管理路径下,例如 /usr/local/Cellar/go 目录。当你在终端中运行 go version 命令时,系统会按照特定的搜索顺序查找可执行文件,而这个搜索顺序决定了哪个路径中的 go 可执行文件被优先使用。

默认情况下,终端会按照 $PATH 环境变量中的路径顺序搜索可执行文件。而在 Homebrew 安装的软件中,Homebrew 会将其管理的软件路径添加到 $PATH 的前面。因此,当你使用 Homebrew 安装 Go 后,Homebrew 的路径会在系统路径之前,从而使 Homebrew 中安装的 Go 版本优先生效。

这样设计的目的是为了避免与系统自带的软件冲突,并允许用户在不影响系统的情况下独立管理软件版本。Homebrew 通过将软件安装到自己的目录中,并调整 $PATH 环境变量的顺序,确保在终端中优先使用 Homebrew 中安装的软件版本。

如果你希望系统中的 Go 版本优先生效,可以考虑手动调整 $PATH 环境变量的顺序,将系统路径放在 Homebrew 路径之前。这样,在终端中运行 go version 时,系统中的 go 可执行文件将被优先使用。

请注意,更改 $PATH 环境变量可能会影响其他软件的运行,因此在进行任何更改之前,请确保理解和谨慎操作。

本来:
在这里插入图片描述
后来

/opt/homebrew/bin  on stable *1  brew uninstall go            ok  at 13:39:10 
Uninstalling /opt/homebrew/Cellar/go/1.18.1... (11,964 files, 595.3MB)/opt/homebrew/bin  on stable *1  which go                     ok  at 13:39:41 
/usr/local/bin/go/opt/homebrew/bin  on stable *1  which -a go                  ok  at 13:39:54 
/usr/local/bin/go
/usr/local/go/bin/go/opt/homebrew/bin  on stable *1  go version                   ok  at 13:39:59 
go version go1.19 darwin/arm64

相关文章:

compile: version “go1.19“ does not match go tool version “go1.18.1“

** 1 安装了新版本的go后 为什么go version 还是旧版本? ** 如果你已经按照上述步骤安装了新版本的 Go,但 go version 命令仍然显示旧版本,可能是因为你的环境变量设置不正确或未正确生效。你可以尝试以下方法来解决问题: 重新…...

spring boot security 自定义AuthenticationProvider

spring boot security 自定义AuthenticationProvider 基于 spring boot 3.x 场景实现 手机验证码登陆 实现 CaptureCodeAuthenticationFilter public class CaptureCodeAuthenticationFilter extends AbstractAuthenticationProcessingFilter {private static final Strin…...

某电力设计公司绩效考核优化项目成功案例纪实

——引入角色定位考核法,建立多维度评价体系,支持业务转型后的客观评价 【客户行业】电力行业 【问题类型】绩效考核 【客户背景及现状分析】 某电力设计公司成立于2000年左右,是一家从事输变电工程勘察、设计、咨询的专业公司&#xff0c…...

力扣371周赛

力扣第371场周赛 找出强数对的最大异或值 I 枚举 class Solution { public:int maximumStrongPairXor(vector<int>& a) {int n a.size() , res 0;for(int i 0 ; i < n ; i ){for(int j 0 ; j < n ; j ){if(abs(a[i]-a[j])<min(a[i],a[j])){int c (a…...

Python之字符串、正则表达式练习

目录 1、输出随机字符串2、货币的转换&#xff08;字符串 crr107&#xff09;3、凯撒加密&#xff08;book 实验 19&#xff09;4、字符替换5、检测字母或数字6、纠正字母7、输出英文中所有长度为3个字母的单词 1、输出随机字符串 编写程序&#xff0c;输出由英文字母大小写或…...

Transmit :macOS 好用的 Ftp/SFtp 工具

Transmit 是一种功能强大的 FTP/SFTP/WebDAV 客户端软件&#xff0c;是一个 Mac OS X 平台上设计的文件传输软件。它由 Panic&#xff08;一家以软件工具为主的公司&#xff09;开发和维护&#xff0c;是一款非常受欢迎且易于使用的软件&#xff0c;而且被广泛认为是 Mac OS X …...

【Github】git clone命令下载文件中途停止

方法一&#xff1a; 使用git clone命令下载github上的源代码时&#xff0c;有时文件下载到一定百分比时就停止不动&#xff0c; 这是因为我们所下载的文件很大&#xff0c;超过了git预先分配的Postbuffer容量&#xff0c;所以一直卡在那里。可以使用以下命令查看当前Postbuffe…...

Clickhouse学习笔记(10)—— 查询优化

单表查询 Prewhere 替代 where prewhere与where相比&#xff0c;在过滤数据的时候会首先读取指定的列数据&#xff0c;来判断数据过滤&#xff0c;等待数据过滤之后再读取 select 声明的列字段来补全其余属性 简单来说就是先过滤再查询&#xff0c;而where过滤是先查询出对应…...

[量化投资-学习笔记012]Python+TDengine从零开始搭建量化分析平台-策略回测

上一章节《MACD金死叉策略回测》中&#xff0c;对平安银行这只股票&#xff0c;按照金死叉策略进行了回测。 但通常我们的股票池中有许多股票&#xff0c;每完成一个交易策略都需要对整个股票池进行回测。 下面使用简单的轮询&#xff0c;对整个股票池进行回测。 # 计算单只…...

MySQL 查看 event 执行记录

文章目录 1. 查看 EVENT 执行记录2. 示例3. 结论 MySQL 是一款流行的关系型数据库管理系统&#xff0c;它提供了许多功能来帮助用户管理和操作数据库。其中之一就是 EVENT事件&#xff0c;它允许用户在特定的时间间隔内自动执行指定的操作&#xff0c;类似于计划任务。 在使用 …...

开发知识点-Vue-Electron

Electron ElectronVue打包.exe桌面程序 ElectronVue打包.exe桌面程序 为了不报错 卸载以前的脚手架 npm uninstall -g vue-cli安装最新版脚手架 cnpm install -g vue/cli创建一个 vue 随便起个名 vue create electron-vue-example (随便起个名字electron-vue-example)进入 创建…...

【线性代数】反求矩阵A

...

MyBatis 中的 foreach 的用法

本文将介绍 MyBatis 中的 <foreach> 标签的灵活应用&#xff0c;并结合财经领域的数据处理场景&#xff0c;阐述其在财经系统开发中的重要性和应用价值。 MyBatis中的<foreach>标签简介 MyBatis 是一个优秀的持久层框架&#xff0c;它简化了数据库操作的流程&…...

交叉编译 mysql-connector-c

下载 mysql-connector-c $ wget https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-c-6.1.5-src.tar.gz 注意&#xff1a;mysql-connector 的页面有很多版本&#xff0c;在测试过程中发现很多默认编译有问题&#xff0c;其中上面的 6.1.5 的版本呢是经过测…...

企业如何选择正确的存储服务器租用?

数据时代的发展&#xff0c;让越来越多的企业选择使用存储服务器来存储数据&#xff0c;今天小编就带大家了解一下企业应该怎么正确的选择存储服务器吧&#xff0c;要关注哪些方面的问题呢&#xff1f; 第一点肯定是看自己的需求&#xff0c;不论是选择什么服务器最重要的一点就…...

45.跳跃游戏II

45.跳跃游戏II 题目描述&#xff1a;给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i]i …...

css style、css color 转 UIColor

你能看过来&#xff0c;就说明这个问题很好玩&#xff01;IT开发是一个兴趣&#xff0c;更是一个挑战&#xff01;兴趣使你工作有热情。挑战使让你工作充满刺激拉满的状态&#xff01;我们日复一日年复一年的去撸代码&#xff0c;那些普普通通的功能代码&#xff0c;已经厌倦了…...

C++(20):typename声明类的子类型的简化

C++:typename声明类的子类型_风静如云的博客-CSDN博客 介绍了某些时候需要使用typename来告诉编译器,这是一个类的类型。 C++20简化了对typename的需求,对于明显是类型的地方,可以不再使用typename进行说明: #include <iostream> #include <string>using na…...

一个java文件的JVM之旅

准备 我是小C同学编写得一个java文件&#xff0c;如何实现我的功能呢&#xff1f;需要去JVM(Java Virtual Machine)这个地方旅行。 变身 我高高兴兴的来到JVM&#xff0c;想要开始JVM之旅&#xff0c;它确说&#xff1a;“现在的我还不能进去&#xff0c;需要做一次转换&#x…...

C# wpf 实现任意控件(包括窗口)更多拖动功能

系列文章目录 第一章 Grid内控件拖动 第二章 Canvas内控件拖动 第三章 任意控件拖动 第四章 窗口拖动 第五章 附加属性实现任意拖动 第六章 拓展更多拖动功能&#xff08;本章&#xff09; 文章目录 系列文章目录前言一、添加的功能1、任意控件MoveTo2、任意控件DragMove3、边…...

10. 监控与可视化

10. 监控与可视化 本章介绍如何对 OR-Tools 求解过程进行监控,以及结果的可视化展示 目录 求解监控概述 内置统计信息 自定义监控 结果可视化 地图集成 监控大盘 日志与追踪 1. 求解监控概述 1.1 为什么要监控?...

APA第7版Microsoft Word样式文件:3分钟搞定学术论文引用格式

APA第7版Microsoft Word样式文件&#xff1a;3分钟搞定学术论文引用格式 【免费下载链接】APA-7th-Edition Microsoft Word XSD for generating APA 7th edition references 项目地址: https://gitcode.com/gh_mirrors/ap/APA-7th-Edition 还在为学术论文的APA第7版引用…...

DownKyi视频下载工具:3步快速上手与5大实用技巧

DownKyi视频下载工具&#xff1a;3步快速上手与5大实用技巧 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&#xff09;…...

Qwen3-TTS开源镜像实操:对接RAG系统实现知识库问答语音实时播报

Qwen3-TTS开源镜像实操&#xff1a;对接RAG系统实现知识库问答语音实时播报 1. 项目背景与价值 在日常工作和学习中&#xff0c;我们经常需要从大量文档中查找信息。传统的文本问答系统虽然方便&#xff0c;但在某些场景下并不适用&#xff1a;开车时需要听导航指令、工厂工人…...

DoL-Lyra 汉化美化整合包:三分钟打造个性化游戏体验

DoL-Lyra 汉化美化整合包&#xff1a;三分钟打造个性化游戏体验 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 还在为《Degrees of Lewdity》英文界面而烦恼吗&#xff1f;想要为游戏角色换上精美立…...

深入解析lwIP初始化流程:从硬件配置到协议栈启动

1. lwIP协议栈概述 第一次接触lwIP时&#xff0c;我完全被这个轻量级TCP/IP协议栈的巧妙设计震撼到了。想象一下&#xff0c;一个完整的网络协议栈竟然能在资源受限的MCU上运行&#xff0c;这就像是在小户型里实现了五星级酒店的功能。lwIP&#xff08;lightweight IP&#xf…...

像素史诗智识终端:让AI当你的贤者,3步搞定高质量研究报告

像素史诗智识终端&#xff1a;让AI当你的贤者&#xff0c;3步搞定高质量研究报告 1. 引言&#xff1a;当科研遇上像素冒险 在传统的研究报告撰写过程中&#xff0c;我们常常面临这样的困境&#xff1a;海量资料需要整理、复杂逻辑需要梳理、专业术语需要解释。而今天&#xf…...

影墨·今颜新手必看:零基础玩转‘泼墨创作’式AI人像生成

影墨今颜新手必看&#xff1a;零基础玩转‘泼墨创作’式AI人像生成 想用AI生成一张媲美专业摄影的人像大片&#xff0c;但总觉得画面假假的&#xff0c;有种说不出的“塑料感”&#xff1f;试试看&#xff0c;用“泼墨”的方式创作一张照片。 这不是比喻。今天要介绍的「影墨…...

Kimi-VL-A3B-Thinking部署教程:查看llm.log日志确认vLLM服务就绪的完整步骤

Kimi-VL-A3B-Thinking部署教程&#xff1a;查看llm.log日志确认vLLM服务就绪的完整步骤 1. 环境准备与快速部署 Kimi-VL-A3B-Thinking是一款高效的开源混合专家视觉语言模型&#xff0c;采用vLLM框架部署&#xff0c;并通过chainlit提供用户友好的前端交互界面。在开始之前&a…...

Qwen3-VL-2B图文理解系统备份方案:数据安全实战部署

Qwen3-VL-2B图文理解系统备份方案&#xff1a;数据安全实战部署 1. 引言 想象一下&#xff0c;你花了好几天时间&#xff0c;终于把一个能看懂图片、识别文字的AI服务部署上线了。它不仅能帮你分析商品图&#xff0c;还能从复杂的图表里提取数据&#xff0c;甚至辅导孩子做作…...