1. 設置 Go 環境
要安裝並順利使用 Go,第一步就是要設置 Go 的環境。
需要設置的 Go 的環境變量,一共有三個。
-
GOROOT
Go 語言的源碼以及安裝目錄。 -
GOPATH
Go 語言的開發目錄,目錄可以有多個,但是,當我們執行go get
命令的時候,如未指定目錄,會默認保存在第一個目錄下。 -
GOROOT_BOOTSTRAP
這個目錄在安裝 Go 1.5 版本及之後的版本時需要設置。由於在 1.4 版本後,Go 編譯器實現了自舉,即通過 1.4 版本來編譯安裝之後版本的編譯器。如果不設置該環境變量的話,會產生這樣一個錯誤Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4。
除此之外,還需要配置 PATH
環境變量到 Go 的二進制程序目錄。
我們需要在~/etc/profile 中添加下面的代碼:
export GOPATH=$Home/GoProject
export GOROOT=/usr/local/go
export GPARCH="386"
export GOOS="linux"
export GOBIN=$GOROOT/bin/
export GOTOOLS=$GOROOT/pkg/tool
export PATH=$PATH:$GOBIN:$GOTOOLS
export GOROOT_BOOTSTRAP=/home/username/.golang/go1.4
重新加載 profile 文件,加載環境變量到內存
source /etc/profile
2 安裝 Go
方法1:
我們有兩種方式下載 Go,一個是直接下載源碼,另一個是通過 GitHub 克隆項目,個人推薦選擇第二種,地址:GayHub。
首先將項目克隆到本地。
$ git clone https://github.com/golang/go.git ~/.golang/go
然後再複製一份作爲 1.4 版本的目錄。
$ cp -r go go1.4
進入 1.4 的文件夾後,將切換分支開始安裝。
$ git checkout -b release-branch.go1.4 origin/release-branch.go1.4
$ cd go1.4/src
$ ./make.bash
編譯安裝好之後,進入之前的 go 文件夾,真正開始編譯安裝 Go。
$ cd go/src
$ ./make.bash
最後,我們試試 go version
來查看版本,可能會發現很奇怪的東西。
$ go version
go version devel +d64c49098c Sun May 28 10:23:38 2017 +0000 darwin/amd64
這是我們編譯了 HEAD 的版本,也就是最新提交的版本,這個版本並不穩定。我們可以將分之切換到穩定版本來進行安裝。截止到這篇文章,Go 的最新穩定版本時 1.8.3。所以我們要講分支切換到 release-branch.go1.8
。
方法2:(親測) 注意root權限問題(沒有權限在執行命令之前加sudo)
首先去官網下載go的安裝包,這裏用的是:go1.13.3.linux-amd64.tar.gz
1) 選擇安裝路徑
由於默認的go路徑,在/usr/local下, 所以用如下命令,解壓創建/usr/local/go
tar -C /usr/local -xzf go1.13.3.linux-amd64.tar.gz
2)環境變量的設置
vim ~/etc/profile
將下列語句添加進去
export GOPATH=$Home/GoProject
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin/ #可選
export GOTOOLS=$GOROOT/pkg/tool #可選
export PATH=$PATH:$GOBIN:$GOTOOLS #可選 如果不添加GOBIN 需要PATH=$PATH:$GOROOT/bin
export GOROOT_BOOTSTRAP=/home/luzhang/.golang/go1.4
如果是隻讀文件,使用su root 改成超級權限,在進行編輯保存。
3)安裝go
cd 進入 go/src 目錄,執行 ./all.bash 命令來安裝go
這時候就會提示
Building Go cmd/dist using /home/用戶名/go1.4.
ERROR: Cannot find /home/用戶名/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.
此時根據方法1,首先將項目克隆到本地 ==>再複製一份作爲 1.4 版本的目錄==>進入 1.4 的文件夾後,將切換分支開始安裝==>編譯安裝好之後,進入之前的 go 文件夾,真正開始編譯安裝 Go==>最後,用 go version
來查看版本
出現 go version go1.13.3 linux/amd64 就代表安裝成功了。
3 完整命令
方法1完成命令
$ echo "export GOROOT=$HOME/.golang/go" >> ~/.bash_profile
$ echo "export GOPATH=$HOME/.golang/path" >> ~/.bash_profile
$ echo "export PATH=$PATH:$HOME/.golang/go/bin" >> ~/.bash_profile
$ echo "export GOROOT_BOOTSTRAP=$HOME/.golang/go1.4" >> ~/.bash_profile
$ source ~/.bash_profile
$ cd ~
$ mkdir .golang
$ git clone https://github.com/golang/go.git go
$ cp -r go go1.4
$ cd go1.4
$ git checkout -b release-branch.go1.4 origin/release-branch.go1.4
$ cd src
$ ./make.bash
$ cd ../../go
$ git checkout -b release-branch.go1.8 origin/release-branch.go1.8
$ cd src
$ ./make.bash
$ go version
方法2完整命令
$ cd /usr/local
#將提前下載好的golang資源包放到usr/local下並用下面的命令解壓
$ sudo tar -C /usr/local -xzf go1.13.3.linux-amd64.tar.gz
$ cd go/src
$ sudo ./all.bash #執行後將會報Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4的錯
$ git clone https://github.com/golang/go.git ~/.golang/go #會clone到home/用戶名/.goland/go
$ sudo cp -r go /home/用戶名/go1.4
$ cd /home/用戶名/go1.4/src
$ sudo ./make.bash #也可以執行./all.bash即可等待編譯完成 ALL TESTS PASSED字樣表示編譯安裝OK
$ go version #出現正確版本號即表示正確安裝
參考網址
https://studygolang.com/articles/2864
https://segmentfault.com/a/1190000009594143
https://blog.csdn.net/qq_15437667/article/details/59776840
https://blog.csdn.net/code_segment/article/details/78195630