亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 Go 1.13 升級后使用 Go 1.14 構建時,是什么導致了關于“先前聲明”

從 Go 1.13 升級后使用 Go 1.14 構建時,是什么導致了關于“先前聲明”

Go
絕地無雙 2022-05-18 15:38:46
將我的go安裝文件夾升級到Go 1.14sudo tar -C /usr/local -xzf go1.14.linux-amd64.tar.gz每次我嘗試構建程序時都會收到運行時錯誤:~/playground/go/src/hello  go build hello# 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/atomic/atomic_amd64x.go:30:6: Load64 redeclared in this block    previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:28:26/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:36:6: LoadAcq redeclared in this block    previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:34:27/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:41:6: Xadd redeclared in this block    previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:39:37/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:44:6: Xadd64 redeclared in this block    previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:42:39/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:47:6: Xadduintptr redeclared in this block    previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:45:47/usr/local/go/src/runtime/internal/atomic/atomic_amd64x.go:50:6: Xchg redeclared in this block    previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:48:36我試圖降級到版本1.13.8并且build一切run正常。sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.13.8.linux-amd64.tar.gz~  go versiongo version go1.13.8 linux/amd64~/go  go build hello && go run hellohello, world我的操作系統是 Linux Mint 19.2。
查看完整描述

1 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

當目標目錄已用于較舊的Go安裝并且某些文件已被重命名(與以前的版本相比)時,此錯誤是可重現的并且會發生。


例如:


Go 1.13.8中的文件go/src/runtime/internal/atomic/atomic_amd64x.go已移至Go 1.14go/src/runtime/internal/atomic/atomic_amd64.go中。


在不清理目標目錄的情況下提取會觸發“先前聲明”錯誤,因為func Xchguintptr在go/src/runtime/internal/atomic/atomic_amd64x.go和go/src/runtime/internal/atomic/atomic_amd64.go


為避免此類錯誤,請刪除安裝文件夾 ( /usr/local/go ) 并重新安裝Go 1.14。


sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.14.linux-amd64.tar.gz

再次測試:


~/go/src/hello  go version

go version go1.14 linux/amd64

~/go/src/hello  go build hello && go run hello

hello, world


查看完整回答
反對 回復 2022-05-18
  • 1 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號