1:如果安裝的版本是>=1.5版本的 需要先安裝 go.1.4版本。
1.1為什么需要安裝go 1.4版本呢? (已下參考:https://www.kejianet.cn/go-5/)
Go 項(xiàng)目組發(fā)布了 Go 1.5 的計(jì)劃,Go 1.5 將使用 Go 1.4 進(jìn)行構(gòu)建,Go 源碼樹將完全消除所有 C 的代碼。移除 C 編譯器
(5c,6c,8c,9c)。剩下的 C 程序?qū)⑥D(zhuǎn)成 Go 語言,包括 Go compilers (golang.org/s/go13compiler), 匯編器和連接器 (golang.org/s/go13linker) 以及 cmd/dist. 如果這些程序都采用 Go 編寫,這會(huì)引發(fā)一個(gè)在完整構(gòu)建源碼的啟動(dòng)問題 —— 你需要一個(gè)可用的 Go 工具鏈來構(gòu)建 Go 工具鏈。
為了構(gòu)建 Go 1.x (x ≥ 5),需要先安裝 Go 1.4 到 GOROOT_BOOTSTRAP. 默認(rèn)的GOROOT_BOOTSTRAP 是 $HOME/go1.4. 我們使用 Go 1.4 作為啟動(dòng)的基礎(chǔ)版本來編譯工具鏈。
我們先來看看構(gòu)建 Go 1.4 是怎么樣的:
- 使用 gcc 或者 clang 構(gòu)建 cmd/dist .
- 使用 dist、build 編譯器工具鏈(gcc 或者 clang)
- NOP
- 使用 dist 構(gòu)建 cmd/go (as go_bootstrap)
- 使用 go_bootstrap 構(gòu)建其他的標(biāo)準(zhǔn)庫和命令
而 Go 1.x (x ≥ 5) 的構(gòu)建將變成:
- 使用 Go 1.4 構(gòu)建 cmd/dist
- 使用 dist 構(gòu)建編譯器工具鏈
- 使用 dist 重新構(gòu)建編譯器工具鏈
- 使用 dist 構(gòu)建 cmd/go (go_bootstrap)
- 使用 go_bootstrap 構(gòu)建其他標(biāo)準(zhǔn)庫和命令
2: 安裝go1.4版 (下載網(wǎng)站:https://studygolang.com/dl)
2.1 wget https://studygolang.com/dl/golang/go1.4.src.tar.gz 下載 go 1.4的源碼
2.2 解壓 tar -zxvf go1.**.tar 并移動(dòng)到 /usr/local/go1.4
2.3: 編譯: 1, cd /usr/local/go1.4 2, ./make.bash
2.4: 設(shè)置編譯環(huán)境的位置: export GOROOT_BOOTSTRAP=/usr/local/go1.4
3: 安裝go1.10版
3.1 wget https://studygolang.com/dl/golang/go1.10.3.src.tar.gz 下載go.1.10源碼
3.2 解壓 tar -zxvf go1.**.tar 并移動(dòng)到 /usr/local/go
3.3 編譯: 1, cd /usr/local/go1.4 2, ./all.bash
4:環(huán)境變量設(shè)置
在文件/etc/profile 文件末尾加上
export GOROOT=/usr/local/go
export GOBIN=GOROOT/bin export PATH=PATH:$GOBIN
5檢查: go version 有版本信息輸出