以前寫得程式,現在要重新跑起來,發現需要改用 Go mod 來設定,才能正常執行~
Go Modules 是 Go 1.11 後開始推的作法,主要可以管理套件 且 自動判斷「套件相依性」
Go Modules 環境簡易初始設定
此篇環境使用 GVM + Go 1.24.2 的版本
Go Modules 官方網頁
- Go Wiki: Go Modules - The Go Programming Language
- Using Go Modules - The Go Programming Language
- Go Modules Reference - The Go Programming Language
Go Modules 環境設定
- gvm use go1.24.2
- Now using version go1.24.2
- go env GOROOT GOPATH
- /home/user/.gvm/gos/go1.24.2
- /home/user/.gvm/pkgsets/go1.24.2/global
- mkdir my-project
- cd my-project
- go mod init my-project
- 產生 go.mod 的檔案
- go: to add module requirements and sums:
- go mod tidy # 補足、修復缺少的相依性套件
- go get github.com/go-training/helloworld # 加入需要的 modules
- go: added github.com/go-training/helloworld
- ls $GOPATH/pkg/mod # 套件會安裝在這邊
- go run your-go-main.go # 即可執行、Build
- 未來:(定期執行:go get -u # 更新 go.mod 裡面的套見到最新的相容版本)
- go mod tidy
- go test ./... # 測試
- go get -u # Module upgrade