【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,但我忘记是在哪个目录删的。

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

参考

相关推荐
似水明俊德2 小时前
02-C#.Net-反射-面试题
开发语言·面试·职场和发展·c#·.net
薛定谔的悦2 小时前
MQTT通信协议业务层实现的完整开发流程
java·后端·mqtt·struts
enjoy嚣士3 小时前
springboot之Exel工具类
java·spring boot·后端·easyexcel·excel工具类
Thera7773 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
无限大64 小时前
职场逻辑03:3步搞定高效汇报,让领导看到你的价值
后端
炘爚4 小时前
C语言(文件操作)
c语言·开发语言
阿蒙Amon4 小时前
C#常用类库-详解SerialPort
开发语言·c#
盐水冰4 小时前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
凸头4 小时前
CompletableFuture 与 Future 对比与实战示例
java·开发语言
wuqingshun3141594 小时前
线程安全需要保证几个基本特征
java·开发语言·jvm