從源碼(編譯)安裝golang

從源碼安裝golang

 

一般狀況下,安裝go只須要在官網(https://golang.org/dl/)下載適合系統的二進制發佈包,按照安裝說明進行安裝便可。linux

對於Linux, Mac OS XFreeBSD系統下的安裝,三步便可完成:git

1.下載tarballs文件go$VERSION.$OS-$ARCH.tar.gz,例如1.8.3github

    wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz)golang

2.執行tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz提取到 /usr/local bootstrap

3.設置環境變量,將/usr/local/go/bin 加入到PATH環境變量。能夠經過將ubuntu

export PATH=$PATH:/usr/local/go/bin 添加到/etc/profile$HOME/.profile文件的最後一行。windows

對於windows系統下的安裝,能夠下載msi安裝包,安裝程序自動將go發佈拷貝到c:\go目錄下,而且將c:\go\bin目錄加入到PATH環境變量。api

若是安裝位置不是/usr/local/go或者c:\go目錄,則須要設置GOROOT環境變量,將GOROOT/bin加入到PATH環境變量。bash

Go的一大特徵是簡單,經過下載二進制發佈包安裝go環境就充分體現了簡單性。app

某些時候,可能要使用特殊版本的go,從源碼安裝,這一樣很簡單。從源碼安裝,首先要進行編譯。Go 1.5實現了bootstrapping,因此編譯1.5之後的版本和編譯1.5之前的版本會略有不一樣。bootstrapping是編譯器領域的一個術語,中文翻譯爲自舉或自展,通俗地講「用要編譯的目標語言編寫其編譯器(彙編器)」。Go1.5開始編譯器和運行時徹底用Go語言編寫(還有少許彙編);go1.4是最後一個用C編寫工具鏈的發佈。

編譯go1.4ubuntu 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.8ubuntu 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就是這麼簡單!

相關文章
相關標籤/搜索