GO/GoLand環(huán)境搭建及項目編譯

好幾年沒寫過代碼了内舟,幾年前的項目好不容易重新跑起來合敦,特別是GOPATH怎么設(shè)置都不生效了,折騰了好久验游,想想還是要做個筆記蛤肌,方便自己方便他人。

安裝Go

  • 通過brew安裝 : brew install go批狱;或者去go官網(wǎng)下載裸准,直接安裝

  • 安裝完成后查看環(huán)境變量信息:go env

GO111MODULE="on"
GOARCH="amd64"
GOBIN="/Users/jimmy/go/bin"
GOCACHE="/Users/jimmy/Library/Caches/go-build"
GOENV="/Users/jimmy/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/jimmy/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/jimmy/go"
GOPRIVATE=""
GOPROXY="https://goproxy.io,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
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/2n/m4yy77cn2xq9894m___tc_p00000gn/T/go-build338189859=/tmp/go-build -gno-record-gcc-switches -fno-common"

配置Go環(huán)境變量

之前設(shè)置GOPATH/GOBIN等環(huán)境變量的方法都失效了,修改bash什么的赔硫,關(guān)閉終端炒俱,重新打開就失效了,\color{red}{設(shè)置GOPATH實在是天坑}

最后發(fā)現(xiàn)只有在終端中通過 go env -w xxx命令修改才行爪膊,不過也不太需要改什么GOPATH权悟,默認會在user下建立一個go文件夾,自動設(shè)置這個為GOPATH推盛,用這個就挺好峦阁,新版的go有了go module可以自動同步包了,終于跟上其他語言了耘成,國外好像屏蔽了依賴包下載榔昔,所以需要換一個代理驹闰。

開啟go module:go env -w GO111MODULE=on

設(shè)置代理:go env -w GOPROXY=https://goproxy.io,direct

查看效果:go env

GOPATH文件結(jié)構(gòu)

gopath必須包含三個文件夾:

jimmy@JimmydeMacBook-Pro go % ls
bin pkg src
| /Users/jimmy/go     GOPATH
|—— bin               生成編譯好的包
|—— pkg               依賴包
|—— src               項目代碼,可以包含多個項目
|———— 項目a
|———— 項目b

安裝設(shè)置GoLand

百度官網(wǎng)安裝即可撒会,激活碼百度

在src文件夾中新建一個項目嘹朗,創(chuàng)建一個.mod文件:go mod init這個非常重要,要不就無法使用go module了

GoLand Preferences中設(shè)置Go Modules诵肛,勾選enable屹培,GOPROXY=https://goproxy.io,direct

GOROOT/GOPATH我就用默認的,所以其他都不需要設(shè)置什么


在這里插入圖片描述

編譯項目

我clone了以前的老項目怔檩,直接run褪秀,go module會自動下載所有依賴,等幾分鐘就好了

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
    "net/http"
    "pms/database"
    "pms/handler"
    "strings"
)

在項目文件夾中執(zhí)行 go install 會在 GOPATH的bin文件夾中生成一個編譯好的和項目文件夾同名的可執(zhí)行文件薛训,這樣就大功告成了~

jimmy@JimmydeMacBook-Pro src % ls
pms
jimmy@JimmydeMacBook-Pro src % cd pms
jimmy@JimmydeMacBook-Pro pms % ls
README.md   database    go.mod      handler     test.go
config      dbtest.go   go.sum      main.go     utils
jimmy@JimmydeMacBook-Pro pms % go install
jimmy@JimmydeMacBook-Pro pms % cd ..
jimmy@JimmydeMacBook-Pro src % cd ..
jimmy@JimmydeMacBook-Pro go % cd bin
jimmy@JimmydeMacBook-Pro bin % ls
pms
jimmy@JimmydeMacBook-Pro bin % ./pms 
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)
[GIN-debug] HEAD   /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)

\color{red}{備注:}如果用go build命令會在項目文件夾中編譯生成可執(zhí)行文件媒吗,而不會在bin中~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市许蓖,隨后出現(xiàn)的幾起案子蝴猪,更是在濱河造成了極大的恐慌调衰,老刑警劉巖膊爪,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嚎莉,居然都是意外死亡米酬,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門趋箩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赃额,“玉大人,你說我怎么就攤上這事叫确√迹” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵竹勉,是天一觀的道長飞盆。 經(jīng)常有香客問我,道長次乓,這世上最難降的妖魔是什么吓歇? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮票腰,結(jié)果婚禮上城看,老公的妹妹穿的比我還像新娘。我一直安慰自己杏慰,他們只是感情好测柠,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布炼鞠。 她就那樣靜靜地躺著,像睡著了一般鹃愤。 火紅的嫁衣襯著肌膚如雪簇搅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天软吐,我揣著相機與錄音瘩将,去河邊找鬼。 笑死凹耙,一個胖子當(dāng)著我的面吹牛姿现,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肖抱,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼备典,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了意述?” 一聲冷哼從身側(cè)響起提佣,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荤崇,沒想到半個月后拌屏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡术荤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年倚喂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓣戚。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡端圈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出子库,到底是詐尸還是另有隱情舱权,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布仑嗅,位于F島的核電站宴倍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏无畔。R本人自食惡果不足惜啊楚,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浑彰。 院中可真熱鬧恭理,春花似錦、人聲如沸郭变。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至周伦,卻和暖如春夕春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背专挪。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工及志, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寨腔。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓速侈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迫卢。 傳聞我的和親對象是個殘疾皇子倚搬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354