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

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

参考

相关推荐
涡能增压发动积1 天前
同样的代码循环 10次正常 循环 100次就抛异常?自定义 Comparator 的 bug 让我丢尽颜面
后端
Wenweno0o1 天前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
swg3213211 天前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
tyung1 天前
一个 main.go 搞定协作白板:你画一笔,全世界都看见
后端·go
gelald1 天前
SpringBoot - 自动配置原理
java·spring boot·后端
chenjingming6661 天前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
cch89181 天前
Python主流框架全解析
开发语言·python
不爱吃炸鸡柳1 天前
C++ STL list 超详细解析:从接口使用到模拟实现
开发语言·c++·list
十五年专注C++开发1 天前
RTTR: 一款MIT 协议开源的 C++ 运行时反射库
开发语言·c++·反射
Momentary_SixthSense1 天前
设计模式之工厂模式
java·开发语言·设计模式