Mac Golang開發環境搭建

由于需要進行go語言項目的開發,基于自己個人的Mac電腦做了一些開發環境的配置,本文旨在做一個簡單的記錄。

先介紹下本文的電腦配置:


image.png

一、安裝brew

Homebrew有點類似于Linux操作系統中的apt-get(Ubuntu)、yum(yum),Mac的操作系統中使用它解決包依賴問題,套用官方的話來說:

讓我們開始安裝吧!

在命令行輸入以下指令

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

出現以下內容,安裝成功

==> Installation successful!

==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics.html

==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh

二、安裝并配置golang

首先看看有哪些golang版本可用

louxiujun@IT-C02Z9057LVDL  /usr/local/opt  brew search go
==> Formulae
algol68g                                 google-java-format
anycable-go                              google-sparsehash
arangodb                                 google-sql-tool
argon2                                   googler
aws-google-auth                          goolabs
bogofilter                               goose
cargo-completion                         gopass
certigo                                  gor
cgoban                                   goreleaser
clingo                                   goreman
django-completion                        gost
forego                                   gosu
fuego                                    gotags
gnu-go                                   goto
go                                       gource
go-bindata                               govc
go-jira                                  govendor
go-md2man                                gowsdl
go-statik                                gox
go@1.10 ?                                gst-plugins-good
go@1.11                                  gx-go
go@1.12                                  hugo
go@1.9                                   jfrog-cli-go
goaccess                                 jpegoptim
goad                                     lego
gobby                                    lgogdownloader
gobject-introspection                    libgosu
gobuster                                 mongo-c-driver
gocr                                     mongo-cxx-driver
gocryptfs                                mongo-orchestration
godep                                    mongoose
goenv                                    pango
gofabric8                                pangomm
goffice                                  protoc-gen-go
golang-migrate                           pygobject
gollum                                   pygobject3
golo                                     ringojs
gom                                      spaceinvaders-go
gomplate                                 spigot
goocanvas                                svgo
goofys                                   wego
google-authenticator-libpam              wireguard-go
google-benchmark                         write-good

==> Casks
homebrew/cask-fonts/font-go
homebrew/cask-fonts/font-go-medium
homebrew/cask-fonts/font-go-mono
homebrew/cask-fonts/font-go-mono-nerd-font
homebrew/cask-fonts/font-go-mono-nerd-font-mono
homebrew/cask/go-agent
homebrew/cask/go-server

選擇一個自己想要的版本,這里本人選擇的是go@1.10版本。

安裝brew下go@1.10版本:

louxiujun@IT-C02Z9057LVDL  $ brew install go@1.10
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/go@1.9-1.9.7.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring go@1.9-1.9.7.high_sierra.bottle.tar.gz
==> Caveats
A valid GOPATH is required to use the `go get` command.
If $GOPATH is not specified, $HOME/go will be used by default:
  https://golang.org/doc/code.html#GOPATH

You may wish to add the GOROOT-based install location to your PATH:
  export PATH=$PATH:/usr/local/opt/go@1.10/libexec/bin

This formula is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/go@1.9/bin:$PATH"' >> ~/.bash_profile

==> Summary
  /usr/local/Cellar/go@1.10/1.9.7: 7,668 files, 294.2MB

確認一下go@1.10的安裝目錄:

louxiujun@IT-C02Z9057LVDL  $ cd /usr/local/opt/
louxiujun@IT-C02Z9057LVDL  $ ls 
gettext      go@1.10      libidn2      libunistring openssl@1.1  wget

可以看到二進制的go@1.10已經被安裝在該目錄下了。

配置golang的相關環境變量

louxiujun@IT-C02Z9057LVDL  $ vim ~/.bashrc

將下面內容添加進上面的文件

#GOROOT
export GOROOT=/usr/local/opt/go\@1.10

#GOPATH
export GOPATH=$HOME/Documents/code/gopath

#GOPATH root bin
export PATH=$PATH:$GOROOT/bin

GOPATH可以根據個人習慣設置為其他目錄。本人習慣在home目錄下的Documents里新建一個code目錄,用于存放各種語言的代碼,例如:Documents/code/gopath用于存放golang的代碼,Documents/code/java用于存放java代碼等。

讓改動立即生效:

louxiujun@IT-C02Z9057LVDL  $ source ~/.bashrc

試一試golang是否安裝成功
出現以下內容,則安裝成功

louxiujun@IT-C02Z9057LVDL  /usr/local/opt  go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/louxiujun/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/louxiujun/Documents/code/gopath"
GORACE=""
GOROOT="/usr/local/opt/go@1.10"
GOTMPDIR=""
GOTOOLDIR="/usr/local/opt/go@1.10/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/2h/43trw35142g1h7qs8zdgxbn40000gp/T/go-build985605356=/tmp/go-build -gno-record-gcc-switches -fno-common"
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,619評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,155評論 3 425
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,635評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,539評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,255評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,646評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,655評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,838評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,399評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,146評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,338評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,893評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,565評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,983評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,257評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,059評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,296評論 2 376

推薦閱讀更多精彩內容

  • 為了能夠愉快地進行golang編程,我們需要安裝以下幾樣東西: 包管理Homebrew 語言環境golang 版本...
    夏之繪閱讀 51,623評論 2 23
  • 歡迎掃碼關注公眾號flysnow_org,第一時間看后續文章。覺得有幫助的話,順手分享到朋友圈吧,感謝支持。 前段...
    飛雪無情flysnow_org閱讀 33,216評論 4 45
  • 申金鑫 17101223365 轉載自公眾號flysnow_org 【嵌牛導讀】:本文介紹了各種系統下的Go語言環...
    Felixxin閱讀 3,397評論 0 20
  • windows下 golang 安裝與配置請參照:http://www.lxweimin.com/p/b6f34ae...
    molscar閱讀 2,169評論 0 7
  • 文 | 晨妤兒 何為命何為禍 命由生而亡 苦從心頭而冒 命運有災殃 是苦難要擔當 有福有禍 明日別怕災難 挺起胸膛...
    晨妤兒閱讀 132評論 0 3