【golang】goland使用多版本go sdk的方法

背景

由于最近手动清理了macos的缓存,包括go缓存,导致"项目X"中go1.24 sdk 环境没有了。我本地全局环境是go1.20.14。"项目X"使用的是go1.24环境。

解决方法

https://golang.google.cn/dl/

手动下载go1.25.5压缩包, goland 偏好设置 goroot 指向这个压缩包解压缩的位置,结果报错。

复制代码
dyld: Symbol not found: _SecTrustCopyCertificateChain
  Referenced from: /Users/Documents/gopath/go1.25.5/bin/go (which was built for Mac OS X 12.0)
  Expected in: /System/Library/Frameworks/Security.framework/Versions/A/Security
 in /Users/Documents/gopath/go1.25.5/bin/go

原因是:

Go 1.25.5 作为 Go 1.25 系列的更新版本,其最低 macOS 系统支持与 Go 1.25 主版本一致。Go 1.25 系列要求macOS 12 Monterey 或更高版本,并已停止对更早版本的支持;因此,Go 1.25.5 也需满足此最低系统要求。

下载go1.24.11,完美解决。

结束语

疑问:此处有疑问的地方是,我当初go mod init 项目X的时候,并未主动下载go.1.24的包,也未设置goroot。

它是自动下载的go 1.24,然后goland自动设置的goroot go1.24,因为我当时跟本不知道go1.24装到哪里了。

这次是解压缩的go1.24是我自己指定的位置。

我在清理本机缓存的时候,确实删除过go1.24.zip,但我忘记是在哪个目录删的。

希望有知道原因的小伙伴给个留言。

参考

相关推荐
会编程的土豆17 小时前
洛谷题单入门1 顺序结构
数据结构·算法·golang
小小小米粒17 小时前
Collection单列集合、Map(Key - Value)双列集合,多继承实现。
java·开发语言·windows
前端一小卒18 小时前
我用 Claude Code 的 Superpowers 技能链写了个服务,部署前差点把服务器搞炸
前端·javascript·后端
czhc114007566318 小时前
C# 428 线程、异步
开发语言·c#
:12118 小时前
java基础
java·开发语言
SilentSamsara19 小时前
Python 环境搭建完整指南:从下载安装到运行第一个程序
开发语言·python
曹牧19 小时前
Spring:@RequestMapping注解,匹配的顺序与上下文无关
java·后端·spring
小短腿的代码世界19 小时前
Qt文件系统与IO深度解析:从QFile到异步文件操作
开发语言·qt
harder32120 小时前
RMP模式的创新突破
开发语言·学习·ios·swift·策略模式
阿丰资源20 小时前
SpringBoot+Vue实战:打造企业级在线文档管理系统
vue.js·spring boot·后端