從 golang 1.13 release(2019/09/03) 後,gomodule 變成預設,大家都用官方的 gomodule 了喔 在這之前的版本使用環境變數 GOMODULE111=true 來做管理
安裝 golang (on Mac)
1. 第一步當然是拿到 golnag 囉
brew install go
2. 環境設定
試著在 terminal 輸入 go env
,能夠拿到 golang 用到的環境變數
特別注意一下幾個環境變數
GOROOT
: 是你 golang 執行環境住的地方GOPATH
: 是你的 golang 程式 和 用到的套件們所住的地方GOBIN
: 因為 golang 是編譯式的語言,他可以把相依套件事先build 好,製作成.a
的二進位檔,存在GOBIN
裡面
# create GOPATH dir
mkdir $HOME/gocode
永久設定~~
如果你的 shell 是 bash 的話 (預設)
開啟編輯器修改 $HOME/.bashrc
檔案,bash 在登入後會做上面的事情
# edit $HOME/.bashrc
vim $HOME/.bashrc
按下 G
到最底部後 i
進入編輯模式,把環境變數設定貼上去
export GOPATH=$HOME/gocode
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
按下esc
退出編輯模式,輸入:wq
存檔並離開
or you are using fish vim ~/.config/fish/config.fish
# GOLANG configurations
set -x GOPATH $HOME/gocode
set -x GOBIN $GOPATH/bin
set -x GOROOT /usr/local/opt/go/libexec
set PATH $GOPATH/bin $GOROOT/bin $PATH
重新再開一個小黑窗跑一下新的設定,
再一次 go env
看看幾個參數有沒有不同吧
3. 下載專案
在下載前,有些事情是我們要知道的
Golang 的資料夾下有 src
pkg
bin
三個目錄
src
: 當你找相依套件時,會來拜訪這裡pkg
: 編譯好的 go 檔案(*.a
),使用相依套件時,可以直接取用bin
: 裡面是編譯好的二進位檔案(golang工具)們
先設定 ssh 下載我們的 repo,而不是 https
git config --global url."git+ssh://[email protected]/".insteadOf "https://repo.tenoz.tw/"
go get repo.tenoz.tw/leotek/pelipper
趕快來確認一下,是不是成功下載回來了呢?
cd $GOPATH/src/repo.tenoz.tw/leotek/pelipper
4. 套件管理工具
go modules
推薦用這個
先來看看 go modules 介紹) 吧
go vendor
前置任務:下載 govendor
go get -u github.com/kardianos/govendor
好,回來看一下
pelipper 這個專案就是用 govendor 來對他的套件做管理
看一下 vendor/vendor.json
裡面寫了他使用的套件和版本
一個指令下載相依套件
govendor sync
跑跑看~~
go build
./pelipper
雖然跑起來了, 不過他可能會跟你說他需要設定檔喔
附錄、還有其他管理工具
這裡有詳細資訊
dep
官方推薦的管理包,不過有要被人家取代掉的趨勢
Go Modules
94J個,窩看好ni啦 » 介紹
參考資料
https://github.com/golang/go/wiki/PackageManagementTools https://ieevee.com/tech/2017/07/10/go-import.html