macos升级Catalina后golang错误
2020-05-16 本文已影响0人
若与
今天将旧的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.重新执行命令,成功了