Go modules使用心得一

Modules和Vendor

  • Vendorgit

    • 使用的時候,代碼依舊要放在go path路徑下
    • 每一個項目都要有一個vendor項目,而後下載到項目下的此目錄,重複率很高
  • modulesgithub

    • 能夠放在任何目錄,配置好代理,下載方便,都在一個倉庫文件,不用重複下載

modules怎麼面對,非正規的路徑

  • 以bytom來講,可能由於某些緣由,致使path路徑和代碼中包使用路徑不一致
  • 代碼中import的路徑:github.com/vapor
  • github上的代碼路徑:github.com/Bytom/vapor

若是我想使用這個代碼中的函數,怎麼引用呢?

使用replace爲導入的包指定下載的路徑
replace github.com/vapor v0.1.0 => github.com/Bytom/vapor v0.1.0

在go.mod文件中添加這一行代碼,那麼就能夠在你的代碼中隨意使用了函數

import (
    "github.com/vapor/common"
    "github.com/vapor/consensus"
    "github.com/vapor/consensus/segwit"
)

遇到這樣的問題,還有什麼方式解決呢?

  • 能夠在GitHub上提issue(固然因爲項目很大,可能沒法修改,即便你們都知道這個問題)
  • 使用vendor
相關文章
相關標籤/搜索