從源碼安裝golang
通常情況下,安裝go只需要在官網(https://golang.org/dl/)下載適合系統的二進制發布包,按照安裝說明進行安裝即可。
對於Linux, Mac OS X和FreeBSD系統下的安裝,三步即可完成:
1.下載tarballs文件go$VERSION.$OS-$ARCH.tar.gz,例如1.8.3
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz)
2.執行tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz提取到 /usr/local
3.設置環境變量,將/usr/local/go/bin 加入到PATH環境變量。可以通過將
export PATH=$PATH:/usr/local/go/bin 添加到/etc/profile或$HOME/.profile文件的最后一行。
對於windows系統下的安裝,可以下載msi安裝包,安裝程序自動將go發布拷貝到c:\go目錄下,並且將c:\go\bin目錄加入到PATH環境變量。
如果安裝位置不是/usr/local/go或者c:\go目錄,則需要設置GOROOT環境變量,將GOROOT/bin加入到PATH環境變量。
Go的一大特征是簡單,通過下載二進制發布包安裝go環境就充分體現了簡單性。
某些時候,可能要使用特殊版本的go,從源碼安裝,這同樣很簡單。從源碼安裝,首先要進行編譯。Go 1.5實現了bootstrapping,所以編譯1.5以后的版本和編譯1.5以前的版本會略有不同。bootstrapping是編譯器領域的一個術語,中文翻譯為自舉或自展,通俗地講“用要編譯的目標語言編寫其編譯器(匯編器)”。Go1.5開始編譯器和運行時完全用Go語言編寫(還有少量匯編);go1.4是最后一個用C編寫工具鏈的發布。
編譯go1.4,ubuntu 16.04.2系統:
cd ~
wget https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz
tar zxvf go1.4-bootstrap-20170531.tar.gz
cd go/src/
./all.bash
編譯完成后,可以看到如下輸出:
ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/dell/go
Installed commands in /home/dell/go/bin
*** You need to add /home/dell/go/bin to your PATH.
成功編譯后,將~/go/bin加入到PATH環境變量
sudo gedit /etc/profile
在最后一行加入 export PATH=/home/dell/go/bin:$PATH 保存
source /etc/profile
執行go version,檢查安裝
dell@dell-VirtualBox:~/go/src$ go version
go version go1.4-bootstrap-20170531 linux/amd64
編譯Go1.5及以上版本:
Go 1.5開始編譯器和運行時用go自身編寫,要編譯它們,首先要安裝go編譯器。all.bash 編譯腳本會在$GOROOT_BOOTSTRAP環境變量中查找一個已經存在的go tool chain,實際上就是要有一個編譯好的bin/go程序,$GOROOT_BOOTSTRAP/bin/go應該是go二進制命令。有很多選擇,可以在官網(https://golang.org/dl/)下載go發布包;也可以用go1.4源碼編譯,也就是按照上面的步驟編譯go1.4,然后再去編譯更高版本的go。
用官方下載的go1.7編譯go 1.8,ubuntu 16.04.2 舉例:
cd ~
wget https://storage.googleapis.com/golang/go1.7.6.linux-amd64.tar.gz
wget https://github.com/golang/go/archive/go1.8.3.tar.gz
tar zxvf go1.7.6.linux-amd64.tar.gz
tar zxvf go1.8.3.tar.gz
export GOROOT_BOOTSTRAP=/home/dell/go
cd go-go1.8.3/src
./all.bash
編譯成功后,有如下輸出:
##### API check
Go version is "go1.8.3", ignoring -next /home/dell/go-go1.8.3/api/next.txt
ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/dell/go-go1.8.3
Installed commands in /home/dell/go-go1.8.3/bin
*** You need to add /home/dell/go-go1.8.3/bin to your PATH.
sudo gedit /etc/profile 將export PATH=/home/dell/go-go1.8.3/bin:$PATH 加入到文件最后一行
執行go version 檢查安裝
dell@dell-VirtualBox:~/go-go1.8.3/src$ go version
go version go1.8.3 linux/amd64
不管從二進制安裝還是從源碼安裝,go就是這么簡單!
