這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
從原始碼構建 Go 開發環境
Go 1.5 之前的版本
安裝C 語言開發環境
在Go 1.5 之前的版本(比如 1.3、1.4),都會部分的依賴 C 語言的工具鏈,所以如果你有C 語言的開發環境,就可以直接構建 Go 的開發環境了。如果沒有 C 語言的開發環境,那就先安裝C 語言的開發環境。
#我的目標機器是centos 7yum install gcc
建立 Go 的目錄結構
基本目錄是這樣的
$HOME/golang|--3rd|--go|--own
因為我們還要安裝 Go 1.5 之後的版本,需要向後相容,所以我們需要把目錄進行一下修改。添加版本目錄。並且把go 指向我們當前使用的Go 版本目錄。修改後的目錄結構如下:
$HOME/golang|--3rd|--go -> go1.4|--go1.4|--own
此時的 go 目錄是軟連結,指向 go1.4。我是使用下載好的 Go 源碼進行安裝的,所以首先把源碼解壓為go1.4目錄。
環境變數
GOPATH=$HOME/golang/3rdpkg:$HOME/golang/go:$HOME/golang/own
按照這樣的配置,當使用 go get 擷取 Go 包的時候,會首先匯入到 $GOPATH 的第一個路徑,也就是 3rdpkg 目錄下。便於把第三方包和自己的項目區分開來。
設定 GOROOT
GOROOT=$HOME/golang/go
設定 PATH 變數
PATH=$PATH:$GOROOT/bin/
此時完整的環境變數設定為
GOPATH=$HOME/golang/3rdpkg:$HOME/golang/go:$HOME/golang/ownGOROOT=$HOME/golang/goPATH=$PATH:$GOROOT/bin
安裝 Go 1.4
cd $HOME/golang/go/src./all.bash
執行完成之後,Go 1.4 就部署完成了。
Go 1.5 之後的版本
在 Go 1.5 以及之後的版本都移除了對 C 語言的依賴,而是使用 Go 編譯新的Go 語言版本。所以我們的目錄結構需要再做一下更改,讓 Go 1.4來協助我們構建新的Go 環境。
因為我們的目標是Go 1.5之後的版本,所以1.6 、1.7都是適用的,結下來我們編譯最新的Go 1.7 環境。那我們的目錄結構就是下面的樣子了:
$HOME/golang|--3rd|--go -> go1.7|--go-bootstrap -> go1.4|--go1.4|--go1.7|--own
環境變數也做相應的修改
GOPATH=$HOME/golang/3rdpkg:$HOME/golang/go:$HOME/golang/ownGOROOT=$HOME/golang/goPATH=$PATH:$GOROOT/binGOROOT_BOOTSTRAP=$HOME/golang/go-bootstrapcd $HOME/golang/go/src./all.bash
參考 這裡
同步發表在這裡:http://www.fengbohello.xin3e.com/blog/p/golang