Go modules使用心得一

Modules和Vendor

  • Vendor

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

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

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章