报错: lfstackPack redeclared in this block / go版本混乱,清理旧版本
完整报错
[root@ma-23g2iosnca mcp]# go build
# runtime
/usr/local/go/src/runtime/lfstack_64bit.go:47:6: lfstackPack redeclared in this block
/usr/local/go/src/runtime/lfstack.go:71:6: other declaration of lfstackPack
/usr/local/go/src/runtime/lfstack_64bit.go:57:6: lfstackUnpack redeclared in this block
/usr/local/go/src/runtime/lfstack.go:75:6: other declaration of lfstackUnpack
/usr/local/go/src/runtime/map.go:815:6: mapiterinit redeclared in this block
/usr/local/go/src/runtime/linkname_swiss.go:91:6: other declaration of mapiterinit
/usr/local/go/src/runtime/map.go:866:6: mapiternext redeclared in this block
/usr/local/go/src/runtime/linkname_swiss.go:144:6: other declaration of mapiternext
/usr/local/go/src/runtime/map.go:1374:6: reflect_mapiterinit redeclared in this block
/usr/local/go/src/runtime/linkname_swiss.go:123:6: other declaration of reflect_mapiterinit
/usr/local/go/src/runtime/map.go:1379:6: reflect_mapiternext redeclared in this block
/usr/local/go/src/runtime/linkname_swiss.go:173:6: other declaration of reflect_mapiternext
/usr/local/go/src/runtime/map.go:1384:6: reflect_mapiterkey redeclared in this block
/usr/local/go/src/runtime/linkname_swiss.go:191:6: other declaration of reflect_mapiterkey
/usr/local/go/src/runtime/map.go:1389:6: reflect_mapiterelem redeclared in this block
/usr/local/go/src/runtime/linkname_swiss.go:209:6: other declaration of reflect_mapiterelem
/usr/local/go/src/runtime/map_fast32_swiss.go:18:6: mapaccess1_fast32 redeclared in this block
/usr/local/go/src/runtime/map_fast32.go:13:6: other declaration of mapaccess1_fast32
/usr/local/go/src/runtime/map_fast32_swiss.go:29:6: mapaccess2_fast32 redeclared in this block
/usr/local/go/src/runtime/map_fast32.go:53:6: other declaration of mapaccess2_fast32
/usr/local/go/src/runtime/map_fast32_swiss.go:29:6: too many errors
报错原因
运行时重复声明冲突
多个*.go文件出现同名函数重复声明(如lfstackPack/mapiterinit),表明:- ❌ Go 标准库源码存在重复文件
- ❌ 可能混合了不同版本/分支的 Go 安装文件
解决方法
# 强制删除 Go 主目录
sudo rm -rf /usr/local/go
# 清理残留缓存 (重要!) r
rm -rf ~/.cache/go-build
rm -rf ~/go/pkg
重新安装go
略
