分享
  1. 首页
  2. 主题
  3. Go语言

Go module 模式下解决"墙"问题(转)

ifree2017 · · 3422 次点击 · 开始浏览 置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

go modules炒得火热,今早学习下,整体挺好的,入手快捷,只是在配置被墙掉的包时,发现有点点小坑,现与学友分享学习。 在测试Emitter时,需要用到"golang.org/x/net"包,go mod拉取不到的原因就不废话了。 试用 go mod edit 命令,有两个flag: 1、-require=path@version :手动加入依赖包; 2、-replace=old[@v]=new[@v]:用新的包替换require里面的原包; help介绍还算清楚,就是卡在包的版本号上了,因为本人没查到"golang.org/x/net"的版本号,下面就开始填坑之旅: 1、尝试 go mod edit -require=golang.org/x/net@latest 或者go mod edit -require=golang.org/x/net@master 2、执行 go mod edit -replace=golang.org/x/net@latest=github.com/golang/net@latest,都提示错误 go: errors parsing go.mod: invalid module version "latest": version must be of the form v1.2.3 what?不能用latest,必须是v1.2.3格式。难为了好一阵,请教网友也未解决,都想放弃了。 就想试试随便输个v0.0.0吧,然后......居然没提示错误!有戏,执行go build通过,哎我去,真是奇葩! 现总结下 go modules操作步骤: 1、go mod init emitter;在项目根目录执行,初始化go mod,emitter是module名称,随便自己定义; 2、go mod tidy;go mod会检查当前项目依赖的源码包,下载之并在go.mod中自动维护require包版本控制; 3、go mod edit -require=golang.org/x/net@v0.0.0;手动加入被墙的包(原始包),一定要记住版本号,实在不知道的话,就试试v0.0.0; 4、go mod edit -replace=golang.org/x/net@v0.0.0=github.com/golang/net@latest;用新的包路径替换掉被墙的原始包,在这里新的包版本可以使用latest和master,这个有点人性了! 5、go build;build项目,没啥别的被墙的包,应该可以顺利成功的; 原文:https://blog.csdn.net/HOOKTTG/article/details/82252457

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

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

关注微信
3422 次点击
2 回复 | 直到 2019年04月10日 16:34:39
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)