從源碼(編譯)安裝golang


從源碼安裝golang

 

通常情況下,安裝go只需要在官網(https://golang.org/dl/)下載適合系統的二進制發布包,按照安裝說明進行安裝即可。

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

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.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就是這么簡單!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM