如何解决每次编译时提示 找不到 cgo 错误?

问题描述:

大家好,我是一名无基础的新手.

archlinux 系统, 因为之前安装过一次go,所以第二次安装的时候出现了GOPATH每次设置之后都会变成另外一个用户目录的错误. 我仔细查看之后发现全局变量文件要读取go.sh这个文件,里面所设定的GOPATH似乎是优先级别最高的,所以我手动修改了这个文件里面指定的GOPATH地址,并且能成功的使用go工具了.

但是我发现linux系统下的go安装后没有windows的编译环境,无法像windows下那样直接就可以进行交叉编译,只有通过下载低版本的go通过执行对应的bash脚本使用gcc来编译对应平台的环境之后,才可以编译对应的平台文件.

在编译的过程中我发现,无论参数中是否添加CGO_ENABLED=0 执行的过程中都会报错

loadinternal: cannot find runtime/cgo

虽然无视它也能继续进行下去,但是我实在找不到问题产生的原因. 编译好的文件也是能直接运行没有问题的.

我已经在全局环境变量 用户环境变量 甚至编译时临时在终端中设置变量 CGO_ENABLED=0 使用 go env查看也能看到是设置成功了的.就是每次编译一下就出现这个提示, 我浑身难受.

请问有没有办法彻底解决这个问题,还有这个问题产生的原因是什么呢?

共 0 个回复