和其他語言的安裝類似,Go的安裝有三種方式,從簡單到複雜依序是使用第三方工具安裝、官方二進制包安裝和源碼安裝。
最後,如果你想在同一個系統中安裝多個版本的Go,你可以參考第三方工具GVM,或是用Docker配置多個版本的Go容器。
不同操作系統通常都會為Go提供相應的軟體安裝方式,這種方式簡化了安裝過程,並且會幫使用者配置好相關的環境參數,省去一些繁雜的步驟。下面介紹不同系統下的安裝方式:
至Golang 下載頁找到對應的msi安裝包,32 位請選擇名稱中包含 windows-386 的 msi 安裝包,64 位請選擇名稱中包含 windows-amd64的。安裝完成後默認會在環境參數 Path 後添加 Go 安裝目錄下的 bin 目錄 C:\Go\bin\
,並添加環境參數 GOROOT,值為 Go 安裝根目錄 C:\Go\
。
如果更改了Go的安裝路徑,安裝完後要自行添加環境參數。
電腦(右鍵) --> 內容 --> 進階系統設定 --> 環境變數 --> 選擇 Path --> 編輯
在其中加入:> %GOPATH%;
開啟命令提示字元,並輸入go。看是否出現下圖的訊息。
輸入 cd %GOROOT%,看是否能進入 Go 安裝目錄。若都成功,說明安裝成功。
不能的話請檢查上述環境參數 Path 和 GOROOT 的值。若不存在可以自行添加或重新安裝Go,若存在可以重啟電腦後測試環境參數是否生效。
在macos上,我們可使用pkg文件或homebrew安裝go。
pkg的安裝方式與windows的 setup.exe/msi 的類似,下載安裝包後,順著提示點擊"下一步"、"下一步"即可完成安裝。
homebrew是Mac系統下面目前使用最多的管理軟件的工具,目前已支持Go,homebrew並非Max自帶的系統工具,沒有安裝的話必須要先安裝homebrew。
安裝homebrew(已安裝可以跳過)
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝go
brew update && brew upgrade
brew install go
brew install git
brew install mercurial //可選安裝
在debian或ubuntu上,我們可使用 apt-get 命令安裝go。比如,在Ubuntu 16.04.5 LTS系統,使用如下命令安裝:
sudo apt-get update // 視情況決定是否更新
sudo apt-get install golang-go
在centos或redhat上,我們可以使用yum命令安裝go。比如,在CentOS 7.5上,使用如下命令安裝:
$ yum epel-release
$ yum install golang
先下載了epel-releaes源,可防止出現yum安裝golang不支持或版本太舊的問題。
所謂二進制包,也就是已經編譯好的包。這種安裝方式在不同的操作系統上步驟類似。
以window為例,同樣至Golang 下載頁,在列表中找尋Kind為Archive且檔名對應系統的壓縮檔,我們以windows 64位元舉例。
接著把下載完的壓縮檔解壓到某個資料夾底下,比如C:\Program Files\,進入查看會發現其中已經包含了以go為名的新資料夾,至此,二進制包就安裝完了。
需要注意的是二進制包是已經編譯好的軟體包,所以不同系統、CPU架構下需要下載與之相應的包。
或許有人會想,就是移動個資料夾?其實系統安裝也就是執行這些動作,不同在於系統安裝包把所有的操作和環境配置都自動化了。
Go 1.5徹底移除C代碼,Runtime、Compiler、Linker均由Go編寫,實現自舉。只需要安裝了上一個版本,即可從源碼安裝。
在Go 1.5前,Go的源代碼中,有些部分是用Plan 9 C和AT&T匯編寫的,因此假如你要想從源碼安裝,就必須安裝C的編譯工具。
在Mac系統中使用到的 C 工具鏈是 Xcode 的一部分,因此你需要通過安裝 Xcode 來完成這些工具的安裝。你並不需要安裝完整的 Xcode,而只需要安裝它的命令行工具部分。
在類Unix系統中,需要安裝gcc等工具。例如Ubuntu系統可通過在終端中執行sudo apt-get install gcc libc6-dev
來安裝編譯工具。
在Windows系統中,你需要安裝MinGW,然後通過MinGW安裝gcc,並設置相應的環境參數。
你可以直接去官網下載源碼,找相應的goVERSION.src.tar.gz
的文件下載,下載之後解壓縮到$HOME
目錄,執行如下代碼:
cd go/src
./all.bash
運行all.bash後出現"ALL TESTS PASSED"字樣時才算安裝成功。
上面是Unix風格的命令,Windows下的安裝方式類似,只不過是運行all.bat
,調用的編譯器是MinGW的gcc。
如果是Mac或者Unix用戶需要設置幾個環境參數,如果想重啟之後也能生效的話把下面的命令寫到.bashrc
或者.zshrc
裏面,
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin
如果你是寫入文件的,記得執行bash .bashrc
或者bash .zshrc
使得設置立刻生效。
如果是window系統,就需要設置環境參數,在path裏面增加相應的go所在的目錄,設置gopath變量。
當你設置完畢之後在命令行裏面輸入go
,如果出現Go的Usage信息,那麽說明Go已經安裝成功了;如果出現該命令不存在,那麽可以檢查一下自己的PATH環境變中是否包含了Go的安裝目錄。
從go 1.8開始,GOPATH環境參數現在有一個默認值,如果它沒有被設置。 它在Unix上默認為$HOME/go,在Windows上默認為%USERPROFILE%/go。
安裝完成後進入Go目錄,一般語言沒有規定項目的目錄結構如何組織,我們可以參考Go的目錄結構去組織未來的所有開發項目,這樣一來就保持了不同項目也有一致性的結構,首先到Go的安裝目錄資料夾,如果是windows安裝路徑默認在C:/go底下,如果是unix/linux一般會在/usr/local/go,這個路徑 是unix software resource的含義:
最後寫一個經典的Hello World吧!
首先,創建一個名為hello.go的文件,注意副檔名必須為.go,內容如下:
package main
import "fmt"
func main(){
fmt.Println("Hello World")
}
上面的代碼不懂沒關係,之後我們會再作詳細的介紹。接著打開命令提示字元,鍵入以下指令。
$ go run hello.go
Hello World
至此環境設置完成,下一章節開始進入Golang的世界