Go module 本地導包方式

tip本文只講關於Go module 本地導包方式,其餘請自行查閱git

Go module 導包方式,go mod init project-name,會獲得一個go.mod文件,此文件是管理依賴的,一般會從github或其餘代理拉取代碼庫。github

module package-name

go 1.xx //go version

require(
     github.com/repo1/package1 v0.0.0 // 遠程代碼庫url + 版本號 嚴格規範 vx.x.x

)

replace (
      //通常替換被牆的url
      newUrl => oldUrl
      //也能夠本地導包時使用
      package-name => 本地包的絕對路徑或相對路徑 
      //goland下本地導包直接配置此項,在Synchronous dependency,go.mod會自動生成一個url+版本+哈希,而後正常跑代      
      //碼。 go run 或者 go build 也能夠 go mod vendor 將依賴放到一個可管理的 '項目/vendor' 文件夾

)

goland下本地導包直接配置replace,不要配置require(遠程拉取除外),在智能提示點擊Synchronous dependency,go.mod會同步依賴並自動生成一個url+版本+哈希,而後正常跑代碼。 go run 或者 go build 也能夠 go mod vendor 將依賴放到一個可管理的 '項目/vendor' 文件夾

若是go.mod本地導包出現xxx@v0.0.0: malformed module path "xxx": missing dot in first path element,查看go.mod是否在require配置了xxx路徑,刪掉,而後go run 自動生成一個url就不會報錯了。

相關文章
相關標籤/搜索