0x01 設定 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 的二進位制程式目錄。
我們需要在 ~/.bash_profile
中新增下面的程式碼(我把所有的 Go 語言相關的東西都放在了 ~/.golang
下面了):
export GOROOT=$HOME/.golang/go
export GOPATH=$HOME/.golang/path
export PATH=$PATH:$HOME/.golang/go/bin
export GOROOT_BOOTSTRAP=$HOME/.golang/go1.4
0x02 安裝 Go
我們有兩種方式下載 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
。
0x03 完整命令
$ 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