Go有多種安裝方式,你可以選擇自己喜歡的。這里我們介紹三種最常見的安裝方式:
Go源碼安裝:這是一種標準的軟件安裝方式。對于經常使用Unix類系統的用戶,尤其對于開發者來說,從源碼安裝可以自己定制。
Go標準包安裝:Go提供了方便的安裝包,支持Windows、Linux、Mac等系統。這種方式適合快速安裝,可根據自己的系統位數下載好相應的安裝包,一路next就可以輕松安裝了。推薦這種方式
第三方工具安裝:目前有很多方便的第三方軟件包工具,例如Ubuntu的apt-get和wget、Mac的homebrew等。這種安裝方式適合那些熟悉相應系統的用戶。
最后,如果你想在同一個系統中安裝多個版本的Go,你可以參考第三方工具GVM,這是目前在這方面做得最好的工具,除非你知道怎么處理。
一、Go源碼安裝
Go 1.5徹底移除C代碼,Runtime、Compiler、Linker均由Go編寫,實現自舉。只需要安裝了上一個版本,即可從源碼安裝。
在Go 1.5前,Go的源代碼中,有些部分是用Plan 9 C和AT&T匯編寫的,因此假如你要想從源碼安裝,就必須安裝C的編譯工具。
在Mac系統中,只要你安裝了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。
關于上面的GOPATH將在下面小節詳細講解
二、Go標準包安裝
Go提供了每個平臺打好包的一鍵安裝,這些包默認會安裝到如下目錄:/usr/local/go (Windows系統:c:\Go),當然你可以改變他們的安裝位置,但是改變之后你必須在你的環境變量中設置如下信息:
export GOROOT=$HOME/go?
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
上面這些命令對于Mac和Unix用戶來說最好是寫入.bashrc或者.zshrc文件,對于windows用戶來說當然是寫入環境變量。
如何判斷自己的操作系統是32位還是64位?
我們接下來的Go安裝需要判斷操作系統的位數,所以這小節我們先確定自己的系統類型。
Windows系統用戶請按Win+R運行cmd,輸入systeminfo后回車,稍等片刻,會出現一些系統信息。在“系統類型”一行中,若顯示“x64-based PC”,即為64位系統;若顯示“X86-based PC”,則為32位系統。
Mac系統用戶建議直接使用64位的,因為Go所支持的Mac OS X版本已經不支持純32位處理器了。
Linux系統用戶可通過在Terminal中執行命令arch(即uname -m)來查看系統信息:
64位系統顯示
x86_64
32位系統顯示
i386
Mac 安裝
訪問下載地址,32位系統下載go1.4.2.darwin-386-osx10.8.pkg(更新的版本已無32位下載),64位系統下載go1.8.3.darwin-amd64.pkg,雙擊下載文件,一路默認安裝點擊下一步,這個時候go已經安裝到你的系統中,默認已經在PATH中增加了相應的~/go/bin,這個時候打開終端,輸入go
看到類似上面源碼安裝成功的圖片說明已經安裝成功
如果出現go的Usage信息,那么說明go已經安裝成功了;如果出現該命令不存在,那么可以檢查一下自己的PATH環境變中是否包含了go的安裝目錄。
Linux 安裝
訪問下載地址,32位系統下載go1.8.3.linux-386.tar.gz,64位系統下載go1.8.3.linux-amd64.tar.gz,
假定你想要安裝Go的目錄為?$GO_INSTALL_DIR,后面替換為相應的目錄路徑。
解壓縮tar.gz包到安裝目錄下:tar zxvf go1.8.3.linux-amd64.tar.gz -C $GO_INSTALL_DIR。
設置PATH,export PATH=$PATH:$GO_INSTALL_DIR/go/bin
然后執行go
如果出現go的Usage信息,那么說明go已經安裝成功了;如果出現該命令不存在,那么可以檢查一下自己的PATH環境變中是否包含了go的安裝目錄。
Windows 安裝
訪問Golang 下載頁,32 位請選擇名稱中包含 windows-386 的 msi 安裝包,64 位請選擇名稱中包含 windows-amd64 的。下載好后運行,不要修改默認安裝目錄 C:\Go\,若安裝到其他位置會導致不能執行自己所編寫的 Go 代碼。安裝完成后默認會在環境變量 Path 后添加 Go 安裝目錄下的 bin 目錄?C:\Go\bin\,并添加環境變量 GOROOT,值為 Go 安裝根目錄?C:\Go\?。
驗證是否安裝成功
在運行中輸入?cmd?打開命令行工具,在提示符下輸入?go,檢查是否能看到 Usage 信息。輸入?cd %GOROOT%,看是否能進入 Go 安裝目錄。若都成功,說明安裝成功。
不能的話請檢查上述環境變量 Path 和 GOROOT 的值。若不存在請卸載后重新安裝,存在請重啟計算機后重試以上步驟。
三、第三方工具安裝
GVM
gvm是第三方開發的Go多版本管理工具,類似ruby里面的rvm工具。使用起來相當的方便,安裝gvm使用如下命令:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
安裝完成后我們就可以安裝go了:
gvm install go1.8.3
gvm use go1.8.3
也可以使用下面的命令,省去每次調用gvm use的麻煩: gvm use go1.8.3 --default
執行完上面的命令之后GOPATH、GOROOT等環境變量會自動設置好,這樣就可以直接使用了。
apt-get
Ubuntu是目前使用最多的Linux桌面系統,使用apt-get命令來管理軟件包,我們可以通過下面的命令來安裝Go,為了以后方便,應該把?git?mercurial?也安裝上:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-stable git-core mercurial
wget
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
sudo tar -xzf go1.8.3.linux-amd64.tar.gz -C /usr/local
配置環境變量:
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=$HOME/gopath (可選設置)
或者使用:
sudo vim /etc/profile
并添加下面的內容:
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=$HOME/gopath (可選設置)
重新加載 profile 文件
source /etc/profile
homebrew
homebrew是Mac系統下面目前使用最多的管理軟件的工具,目前已支持Go,可以通過命令直接安裝Go,為了以后方便,應該把?git?mercurial?也安裝上:
1.安裝homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安裝go
brew update && brew upgrade
brew install go
brew install git
brew install mercurial //可選安裝