macos升级Catalina后golang错误

今天将旧的go项目全部迁移使用go mod管理。在go get的时候,出现下面的错误。

_cgo_export.c:3:10: fatal error: 'stdlib.h' file not found
# crypto/x509
/usr/local/go/src/crypto/x509/root_cgo_darwin.go:16:10: fatal error: 'CoreFoundation/CoreFoundation.h' file not found
#include <CoreFoundation/CoreFoundation.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

如果上面的问题出现在

可以使用下面的方式解决:

10.14 解决方法

在终端直接打开

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

10.14 重新安装header头文件SDK
我刚开始升级到10.14的时候,就是这样解决的。

现在升级到10.15了,现在 /Library/Developer/CommandLineTools/这个目录下面没有 Packages

10.15 解决方法

1.首先应该安装最新稳定版的 Xcode,或运行:

xcode-select --install

2.重启电脑,按住 Command+R 进入 恢复模式,在恢复模式中启动 terminal,输入:

csrutil disable

上面两步我是很早以前就做了

3.再次重启电脑,运行下面命令,把根目录挂载为可读写,不然,下面步骤,不能创建软连接

sudo mount -uw /

4.建立以下软连接

cd /System/Library/Frameworks/CoreFoundation.framework
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers Headers
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Modules Modules
cd /System/Library/Frameworks/Security.framework
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers Headers
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Modules Modules

5.重新执行命令,成功了

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容