Go modules使用心得一

sixgo · · 536 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:sixgo

查看原文:Go modules使用心得一

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

536 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传