首頁  >  文章  >  後端開發  >  如何在Mac環境下配置 Golang 環境

如何在Mac環境下配置 Golang 環境

藏色散人
藏色散人轉載
2021-11-03 17:17:504943瀏覽

本文由go語言教學欄位給大家介紹如何在Mac環境下配置 Golang 環境 ,希望對需要的朋友有所幫助!

設定Golang 環境(Mac, vscode, 國內)

#下載Golang

因為Homebrew 的存在,在Mac 上下載什麼都很方便。可以運行以下的命令安裝Homebrew :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

關於Homebrew 的更多信息,你可以拜訪他們的網站:brew.sh/

安裝完成之後就可以使用以下命令來安裝Go語言:

$ brew install go

安裝完成之後,你可以執行以下指令來測試:

$ go version

設定$GOPATH

##Go 語言要求你在系統的環境變數中給提供一個$GOPATH變量,顧名思義,就是給Go 語言提供一個讓其操作的資料夾位置。

我們可以透過以下兩種方式來設定環境變數

第一種

直接把變數設定在~/.bash_profile 檔案中,具體的操作如下:

$ sudo nano ~/.bash_profile

執行以上的指令會在終端機開啟一個nano 編輯器來編輯~/.bash_profile 檔案。你可以在 .bash_profile 檔案中加入一行:export GOPATH=$HOME/Developer/go

$HOME/Developer/go 是我自己喜歡的 GOPATH 資料夾位置,你可以任意設定一個資料夾位置。輸入完成之後,按 ctrl o 之後再按 enter進行儲存。最後按 ctrl x 退出 nano 編輯器。

第二種

如果每次透過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 裡面的內容。

設定 $PATH

當你設定完成了 $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

配置Visual Studio Code

我熱愛vscode 的原因第一在於它的輕量,第二在於它的全能性。它真的很輕,反正我在我的 macbook pro 2013 (8g i7) 上面使用它沒有遇到過卡頓,如果使用 goland,便會經常卡頓。當然如果你的電腦配置逆天(比如說 iMac Pro),這點你當然可以忽略不計。全面性在於,它擁有很強大的社區,裡面有功能豐富的插件,你可以在上面編程幾乎任何語言。話不多說,讓我們來看看如何在上面設定 Go 語言環境。

下載官方 Golang 外掛程式

Vscode 下載外掛很方面,在最左邊的豎排導覽列選擇 Extensions。然後在搜尋框搜尋 go 的第一個插件就是官方(微軟)的 Go 語言插件,下載即可。

你有興趣的話,可以瀏覽官方Golang 外掛程式的網址:https://github.com/microsoft/vscode-go

安裝Golang 官方外掛依賴套件

當你下載這個插件之後,每當你打開一個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以及国内)就完成了。

以上是如何在Mac環境下配置 Golang 環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.im。如有侵權,請聯絡admin@php.cn刪除