MacOS下本地golang環(huán)境搭建詳細(xì)教程
安裝golang
使用homebrew安裝golang。homebrew是MacOS 平臺(tái)下的軟件包管理工具,擁有安裝、卸載、更新、查看、搜索等功能。開(kāi)發(fā)者不需要關(guān)心依賴和文件路徑。如果系統(tǒng)沒(méi)有安裝homebrew,終端內(nèi)執(zhí)行以下命令安裝homebrew。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
安裝完homebrew后執(zhí)行以下命令安裝golang,如果下載過(guò)慢可能是由于網(wǎng)絡(luò)原因,可以通過(guò)更改homebrew的鏡像地址或者開(kāi)啟科學(xué)上網(wǎng)解決。
brew install golang
配置環(huán)境變量
安裝成功后,執(zhí)行 go env 查看golang的環(huán)境變量。順便可以測(cè)試是否安裝成功。在本地的shell。配置相應(yīng)環(huán)境變量。
zsh執(zhí)行 vim ~/.zshrc,bash vim ~/.bashrc。從交互及易用的角度zsh更好一些,zsh完全兼容bash,并且提供自動(dòng)補(bǔ)全的功能。如果shell默認(rèn)不是zsh??梢酝ㄟ^(guò)如下命令切換默認(rèn)zsh,并安裝oh-my-zsh。oh-my-zsh 是基于 zsh 命令行的一個(gè)擴(kuò)展工具集,提供了豐富的擴(kuò)展功能。
sudo chsh -s zsh sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
然后在~/.zshrc 聲明環(huán)境變量,下面的示例中設(shè)置GOPATH為根目錄下的golang目錄,可以指定自己的目錄為GOPATH。
export GOPATH=$HOME/golang export GOROOT=/usr/local/opt/go/libexec export GOPROXY=https://goproxy.cn,direct
安裝完成執(zhí)行 source ~/.zshrc,或者重新打開(kāi)shell,使環(huán)境變量生效。
GOROOT
就是golang的安裝路徑。
GOPATH
作為 Go 語(yǔ)言的環(huán)境變量,相當(dāng)于個(gè)人的工作區(qū),每個(gè)工作區(qū)中都會(huì)有以代碼包為基本組織形式的源碼文件。goalng的項(xiàng)目必須放在GOPATH路徑下,才能正常執(zhí)行。這個(gè)目錄用來(lái)存放Go源碼,Go的可運(yùn)行文件,以及相應(yīng)的編譯之后的包文件。這個(gè)目錄下有三個(gè)子目錄:src、bin、pkg。
按照約定這三個(gè)目錄的作用是:
- src 存放項(xiàng)目的源碼
- pkg 存放編譯后生成的文件
- bin 存放編譯后生成的可執(zhí)行文件
GOPROXY
如果設(shè)置完成該變量,下載源代碼時(shí)將會(huì)通過(guò)該環(huán)境變量設(shè)置的代理地址,不會(huì)直接從代碼庫(kù)下載。而且某些代碼庫(kù)所在服務(wù)器需要科學(xué)上網(wǎng)才可以訪問(wèn)。設(shè)置GOPROXY
可以避免由于網(wǎng)絡(luò)環(huán)境的原因下載不了某些代碼庫(kù)。
GOPRIVATE
正常情況下是從公共鏡像 goproxy.io
上下載依賴包,并且會(huì)對(duì)下載的軟件包和代碼庫(kù)進(jìn)行安全校驗(yàn),所以設(shè)置環(huán)境變量 GOPRIVATE
,可以對(duì)指定倉(cāng)庫(kù)地址,跳過(guò) proxy server 和校驗(yàn)檢查。
通過(guò)設(shè)置GONOPROXY
和 GONOSUMDB
等環(huán)境變量。 可以更靈活的控制哪些依賴軟件包經(jīng)過(guò) proxy server 和 sumdb 校驗(yàn),這兩個(gè)環(huán)境變量的被設(shè)置后將覆蓋 GOPRIVATE 環(huán)境變量。
GONOSUMDB
通過(guò)這個(gè)環(huán)境變量設(shè)置不做校驗(yàn)的代碼倉(cāng)庫(kù)地址。設(shè)置完成后從該地址上下載的依賴都不需要做校驗(yàn)。
Goland設(shè)置
VSCode需要額外配置插件,這里不討論VSCode,如果團(tuán)隊(duì)開(kāi)發(fā)使用Goland比較方便管理。畢竟Jenbrains家族的產(chǎn)品,從開(kāi)發(fā)效率上來(lái)說(shuō),是極高的。但是還是希望懂得底層遠(yuǎn)離。不要離開(kāi)IDE就不會(huì)寫(xiě)代碼,無(wú)法啟動(dòng)項(xiàng)目。
IDE的額外配置:
1.自動(dòng)保存格式化。避免因代碼未格式化提交到git歷史里。Preferences ->Plugins
搜索 save actions,然后設(shè)置自動(dòng)保存格式化。
2.設(shè)置goimports 格式化代碼。Preferences -> Tools -> File Watchers
。添加goimports 然后設(shè)置本地包單獨(dú)分組參數(shù)。
-local amap-aos -w $FilePath$
3.項(xiàng)目配置
在 Goland 的右上方找到“Add Configuration”并單擊。在彈出的窗口中點(diǎn)擊“+”,并在下拉菜單中選擇“Go Build”。點(diǎn)擊“Go Build”之后,在窗口中填寫(xiě)對(duì)應(yīng)的信息。
- 名稱:為本條配置信息的名稱,可以自定義,也可以使用系統(tǒng)默認(rèn)的值;
- Run kind:這里需要設(shè)置為“Directory”。
- Directory:用來(lái)設(shè)置 main 包所在的目錄,不能為空。一般是項(xiàng)目的根目錄。
- Output directory:用來(lái)設(shè)置編譯后生成的可執(zhí)行文件的存放目錄,可以為空,為空時(shí)默認(rèn)不生成可執(zhí)行文件。
- Working directory:用來(lái)設(shè)置程序的運(yùn)行目錄,可以與“Directory”的設(shè)置相同,但是不能為空。
設(shè)置完成后就可以使用Goland在本地啟動(dòng)項(xiàng)目,注意項(xiàng)目代碼要放在GOPATH下。
總結(jié)
到此這篇關(guān)于MacOS下本地golang環(huán)境搭建詳細(xì)教程的文章就介紹到這了,更多相關(guān)MacOS golang環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Go?goroutine實(shí)現(xiàn)并發(fā)的Clock服務(wù)
這篇文章主要為大家詳細(xì)介紹了如何使用Go?goroutine實(shí)現(xiàn)并發(fā)的Clock服務(wù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06Go實(shí)現(xiàn)線程池(工作池)的兩種方式實(shí)例詳解
這篇文章主要介紹了Go實(shí)現(xiàn)線程池(工作池)的兩種方式實(shí)例詳解,需要的朋友可以參考下2022-04-04go?doudou開(kāi)發(fā)單體RESTful服務(wù)快速上手教程
這篇文章主要為大家介紹了go?doudou開(kāi)發(fā)單體RESTful服務(wù)快速上手教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12golang編程開(kāi)發(fā)使用sort排序示例詳解
這篇文章主要為大家介紹了go語(yǔ)言編程開(kāi)發(fā)使用sort來(lái)排序示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-11-11淺析Golang開(kāi)發(fā)中g(shù)oroutine的正確使用姿勢(shì)
很多初級(jí)的Gopher在學(xué)習(xí)了goroutine之后,在項(xiàng)目中其實(shí)使用率不高,所以這篇文章小編主要來(lái)帶大家深入了解一下goroutine的常見(jiàn)使用方法,希望對(duì)大家有所幫助2024-03-03go語(yǔ)言if/else語(yǔ)句簡(jiǎn)單用法示例
這篇文章主要介紹了go語(yǔ)言if/else語(yǔ)句用法,結(jié)合實(shí)例形式分析了go語(yǔ)言if else語(yǔ)句的判定與流程控制技巧,需要的朋友可以參考下2016-05-05GoFrame錯(cuò)誤處理常用方法及錯(cuò)誤碼使用示例
這篇文章主要為大家介紹了GoFrame錯(cuò)誤處理常用方法及錯(cuò)誤碼使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06