為什麼不再建議使用GOPATH以及如何使用Go Modules

tsin發表於2021-01-09

原因: 有了 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 協議》,轉載必須註明作者和本文連結
Was mich nicht umbringt, macht mich stärker

相關文章