Files
build-web-application-with-…/zh-tw/01.1.md
2019-06-22 23:41:28 +08:00

207 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 1.1 安裝 Go
## Go 的三種安裝方式
Go 有多種安裝方式,你可以選擇自己喜歡的。這裡我們介紹三種最常見的安裝方式:
- Go 原始碼安裝:這是一種標準的軟體安裝方式。對於經常使用 Unix 類別系統的使用者,尤其對於開發者來說,從原始碼安裝可以自己訂製。
- Go 標準套件安裝Go 提供了方便的安裝套件,支援 Windows、Linux、Mac 等系統。這種方式適合快速安裝,可根據自己的系統位數下載好相應的安裝套件,一路 next 就可以輕鬆安裝了。**推薦這種方式**
- 第三方工具安裝:目前有很多方便的第三方軟體套件工具,例如 Ubuntu 的 apt-get 和 wget、Mac 的 homebrew 等。這種安裝方式適合那些熟悉相應系統的使用者。
最後,如果你想在同一個系統中安裝多個版本的 Go你可以參考第三方工具[GVM](https://github.com/moovweb/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並設定相應的環境變數。
你可以直接去官網 [ 下載原始碼](http://golang.org/dl/),找相應的`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`,看到如下圖片即說明你已經安裝成功
![](images/1.1.mac.png)
圖 1.1 原始碼安裝之後執行 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` 後 Enter稍等片刻會出現一些系統資訊。在“系統型別”一行中若顯示“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 安裝
訪問 [Golang 下載地址](https://golang.org/dl/)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 安裝
訪問 [Golang 下載地址](https://golang.org/dl/)32 位系統下載 go1.8.3.linux-386.tar.gz64 位系統下載 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`
![](images/1.1.linux.png)
圖 1.2 Linux 系統下安裝成功之後執行 go 顯示的資訊
如果出現 go 的 Usage 資訊,那麼說明 go 已經安裝成功了;如果出現該命令不存在,那麼可以檢查一下自己的 PATH 環境變中是否包含了 go 的安裝目錄。
### Windows 安裝 ###
訪問[Golang 下載頁](https://golang.org/dl/)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 使用如下命令:
```sh
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
```
安裝完成後我們就可以安裝 go 了:
```sh
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` 也安裝上:
```sh
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
```sh
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
```
配置環境變數:
```sh
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=$HOME/gopath (可選設定)
```
或者使用:
```sh
sudo vim /etc/profile
```
並新增下面的內容:
```sh
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=$HOME/gopath (可選設定)
```
重新載入 profile 檔案
```sh
source /etc/profile
```
### homebrew
homebrew 是 Mac 系統下面目前使用最多的管理軟體的工具,目前已支援 Go可以透過命令直接安裝 Go為了以後方便應該把 `git` `mercurial` 也安裝上:
1.安裝 homebrew
```sh
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
2.安裝 go
```sh
brew update && brew upgrade
brew install go
brew install git
brew install mercurial //可選安裝
```
## links
* [目錄](<preface.md>)
* 上一節:[Go 環境配置](<01.0.md>)
* 下一節:[GOPATH 與工作空間](<01.2.md>)