今天打算把Go升级到1.14.2,升级的方法就两步,
先上Go官方下载页面( https://golang.org/dl/ )下载macos对应的二进制包(1.14.13地址 https://studygolang.com/dl/golang/go1.14.13.linux-amd64.tar.gz )
https://studygolang.com/dl/golang/go1.14.13.linux-amd64.tar.gz
下载好后把压缩包解压到相应的目录:
tar -C /usr/local -xzf go1.14.13.linux-amd64.tar.gz
因为是升级,不是初次安装,之前已经把PATH设置好了,就不用管了。
之后执行以下命令,查看Go版本:
# go version
go version go1.14.13 linux/amd64
看到已经是1.14.13了,美滋滋。
但是用Go编译自己的程序,输出一大段如下错误:
# runtime/internal/atomic
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:18:6: Load redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:16:24
/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:24:6: Loadp redeclared in this block
previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:22:32
/usr/local/go/src/runtime/internal

本文讲述了作者在升级Go语言版本过程中遇到的编译错误,通过排查发现是旧版本和新版本源码冲突,最终建议彻底删除旧版本并重新安装。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



