原因: 有了 Go Modules
歷史:
一個環境變數,用於編譯專案時,告訴GO去哪裡讀取原始檔
- 帶來的限制規則:
- 要求將專案寫在GOPATH下
- 需根據專案實際的URL路徑建立目錄,如github.com/foo/bar => $GOPATH/src/github.com/foo/bar
- 沒有內建的對擴充套件包的版本追蹤
有了Go Modules之後
- 一行命令遷移舊有專案
- 隻影響開發環境,不影響生產環境
- 相容GOPATH,依然可以依據個人喜好,在使用GOPATH
轉向Go Modules
版本要求 >=1.11
go mod init
命令初始化,如:mkdir myProject/ cd myProject go mod init github.com/myGithubName/myProject
GOPATH專案遷移,如:
mv ~/go/src/github.com/myGithubName/myProject ~/anywhere_else/ cd ~/anywhere_else/myProject go mod init github.com/myGithubName/myProject
以上內容整理自: medium.com/@vingarcia00/golang-why...
另外,使用 Goland IDE的話,開啟Settings,在 Go -> Go Modules(vgo) ,勾選Enable Go Modules (vgo) Integration,不然擴充套件包無法被識別到。
本作品採用《CC 協議》,轉載必須註明作者和本文連結