问题:
golang 升级或者降级版本之后,执行编译报错如下:
package github.com/onsi/ginkgo/ginkgo imports runtime: C source files not allowed when not using cgo or SWIG: atomic_amd64x.c defs.c float.c heapdump.c lfstack.c malloc.c mcache.c mcentral.c mem_linux.c mfixalloc.c mgc0.c mheap.c msize.c os_linux.c panic.c parfor.c proc.c runtime.c signal.c signal_amd64x.c signal_unix.c stack.c string.c sys_x86.c vdso_linux_amd64.c
原因:
因为在升降级的时候,选择了直接覆盖目录安装,而不是删除后安装,故而导致了这个问题。
解决:
查看golang的安装目录:
[root@hserver2 tmp]# cat /etc/profile.d/golang.sh export GOROOT=/home/go export GOBIN=/home/gopath/bin export GOPATH=/home/gopath export PATH=$GOBIN:$GOROOT/bin:$PATH
安装目录为:GOROOT,所以升降级版本时,应该选择,彻底删除 /home/go 目录,最后执行覆盖文件即可。
[root@hserver2 tmp]#rm -rf /home/go [root@hserver2 tmp]#tar zxvf go1.9.2.linux-amd64.tar.gz -C /home
重新编译就可以了。