macos升级Catalina后golang错误

若与 · · 1014 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

今天将旧的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.重新执行命令,成功了


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:若与

查看原文:macos升级Catalina后golang错误

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

1014 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传