由於 Homebrew 的存在,在 Mac 上下載什麼都很方便。能夠運行如下的命令安裝 Homebrew :git
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
複製代碼
關於 Homebrew 的更多信息,你能夠拜訪他們的網站:brew.sh/github
安裝完成以後就能夠使用如下命令來安裝 Go 語言:golang
$ brew install go
複製代碼
安裝完成以後,你能夠跑如下命令來測試一下:編程
$ go version
複製代碼
Go 語言要求你在系統的環境變量中給提供一個$GOPATH
變量,顧名思義,就是給 Go 語言提供一個讓其操做的文件夾位置。ruby
咱們能夠經過如下兩種方式來設置環境變量bash
直接把變量設置在 ~/.bash_profile
文件中,具體的操做以下:網絡
$ sudo nano ~/.bash_profile
複製代碼
運行以上的命令會在終端打開一個 nano 編輯器來編輯 ~/.bash_profile
文件。你能夠在 .bash_profile
文件中加入一行:export GOPATH=$HOME/Developer/go
app
$HOME/Developer/go
是我本身喜歡的 GOPATH 文件夾位置,你能夠任意設置一個文件夾位置。 輸入完成以後,按 ctrl + o
以後再按 enter
進行保存。最後按 ctrl + x
退出 nano 編輯器。curl
若是每次經過 sudo nano ~/.bash_profile
來修改環境變量實在太麻煩,並且經過其它編輯器,好比說 vscode 來修改 .bash_profile 每次也須要密碼受權,也是很麻煩。那麼有沒有比較簡潔的辦法呢?編輯器
咱們能夠另外建立一個文件來存放環境變量。好比說咱們建立一個文件 $HOME/Developer/index.sh
,這時咱們能夠把原來export GOPATH=$HOME/Developer/go
輸入到這個文件。 這時,咱們經過sudo nano ~/.bash_profile
命令把原來的.bash_profile
文件裏的export GOPATH=$HOME/Developer/go
刪除掉,而且添加上這一行source $HOME/Developer/index.sh
,而後保存退出。 這樣之後,你就能夠直接修改 $HOME/Developer/index.sh
來設置環境變量,而不是去修改 ~/.bash_profile
文件了。 這麼作的原理在於 source
命令會去引入~/Developer/index.sh
裏面的內容。
當你配置完了 $GOPATH
,你還要配置一下 $PATH
。這是由於,有些時候咱們在終端要直接運行 Golang 的一些二進制文件,若是你沒有把存放 Golang 二進制的文件夾包括在 $PATH
裏面的話,終端是找不到它們的。 存放 Golang 二進制文件的文件夾通常有兩個。第一個是 $GOPATH/bin
, 第二個是$GOROOT/bin
。你可能會疑惑這裏的 $GOROOT
是什麼。其實就是存放 Golang 源代碼的位置,裏面存放着一些 Golang 自帶的庫文件。在 Mac 上咱們是不須要設置 $GOROOT
的, 可是在 Windows 上就須要。爲了方便理解,咱們能夠在這裏也設置一下。若是你使用 Homebrew 安裝 Golang 的話,$GOROOT
會被映射到 /usr/local/opt/go/libexec
。那麼用咱們上面設置 $GOPATH
的第二種方法的話,在 index.sh
文件上添加上這一行就能夠設置 GOROOT: export GOROOT=/usr/local/opt/go/libexec
。 同時咱們也能夠在 index.sh
上設置 $PATH
。爲了簡化說明,我直接給你展現完整的 index.sh
是這樣的:
export $GOPATH=$HOME/Developer/go
export $GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
複製代碼
我熱愛 vscode 的緣由第一在於它的輕量,第二在於它的全能性。它真的很輕量,反正我在個人 macbook pro 2013 (8g i7) 上面使用它沒有遇到過卡頓,若是使用 goland,便會常常卡頓。固然若是你的電腦配置逆天(好比說 iMac Pro),這點你固然能夠忽略不計。全面性在於,它擁有很強大的社區,裏面有功能豐富的插件,你能夠在上面編程幾乎任何語言。話很少說,讓咱們來看看如何在上面配置 Go 語言環境。
Vscode 上下載插件很方面,在最左側的豎排導航欄選擇 Extensions
。 而後在搜索框搜索 go 的第一個插件就是官方(微軟)的 Go 語言插件,下載便可。
你有興趣的話,能夠瀏覽官方 Golang 插件的網址:github.com/microsoft/v…
當你下載這個插件以後,每當你打開一個golang的文件(.go)的時候,它就會提醒安裝一些依賴包(其實這些依賴包就是用 Golang 寫的一些包)。 你能夠點擊提醒框右側的 install all
選項來安裝全部安裝包。 可是當運行一段時間以後,你會發現好多包都安裝失敗了:
Installing github.com/mdempsky/gocode FAILED
Installing github.com/ramya-rao-a/go-outline FAILED
Installing github.com/acroca/go-symbols FAILED
Installing golang.org/x/tools/cmd/guru FAILED
Installing golang.org/x/tools/cmd/gorename FAILED
Installing github.com/stamblerre/gocode FAILED
Installing github.com/ianthehat/godef FAILED
Installing github.com/sqs/goreturns FAILED
Installing golang.org/x/lint/golint FAILED
9 tools failed to install.
複製代碼
緣由是由於一些衆所周知的緣由,在國內沒法訪問 golang.org
,天然也就沒法下載在其下的資源。這時咱們能夠設置 $GOPROXY
來解決這個問題。設置$GOPROXY
其實就是設置一個代理幫你去訪問和安裝這些包,而不是經過你本身的網絡。我我的使用的代理是這個:export GOPROXY="https://athens.azurefd.net"
。一樣的,你能夠把這行代碼寫進index.sh
文件,那麼更新後的index.sh
文件就是這樣的:
export $GOPATH=$HOME/Developer/go
export $GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
export GOPROXY="https://athens.azurefd.net"
複製代碼
如下是現有的其它可用的代理:
export GOPROXY="https://goproxy.io"
export GOPROXY="https://goproxyus.herokuapp.com"
export GOPROXY="https://goproxy.cn"
# 最新官方的
export GOPROXY="https://proxy.golang.org"
複製代碼
這時,你能夠經過再打開一個 Golang 文件彈出提醒框的方式來安裝這些包。或者直接經過在 vscode 上按 cmd+shift+p
彈出 vscode 的命令框,而後輸入 >Go: Install/Update Tools
來安裝這些依賴包了。
其實 vscode 是經過 go get
命令來安裝這些安裝包的,go get
命令會把源代碼安裝到 $GOPATH/src
, 同時把相應包的二進制文件安裝到 $GOPATH/bin
。 當你安裝完成以後,你去到 $GOPATH/bin
會發現多了不少二進制文件。而官方 Golang 插件就是經過自動找到並使用這些二進制文件來幫你優化編程體驗的。好比 gocode
是幫忙自動補全代碼的。
自此,咱們關於 Golang 的環境配置(在 Mac、vscode以及國內)就完成了。