go module 懵逼求助…go mod download 会提示找不到版本,但是我的 go.mod 文件并没有配置这个版本…

2019-10-11 14:48:58 +08:00
 heavyrainn

我的 go mod 文件内容如下:

module ALFX2_REFACTOR

go 1.12

require (
	easybox v0.0.0+incompatible
	github.com/gogf/gf v1.9.7
	github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
	github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 // indirect
	github.com/araddon/dateparse v0.0.0-20190622164848-0fb0a474d195
	github.com/emirpasic/gods v1.12.0
	github.com/gizak/termui/v3 v3.1.0
	github.com/gofrs/uuid v3.2.0+incompatible
	github.com/lib/pq v1.2.0
	github.com/nats-io/nats-streaming-server v0.16.0 // indirect
	github.com/nats-io/stan.go v0.5.0
	github.com/tidwall/gjson v1.3.2 // indirect
	github.com/tidwall/sjson v1.0.4
	github.com/valyala/fasttemplate v1.0.1
	gopkg.in/alecthomas/kingpin.v2 v2.2.6
	gopkg.in/yaml.v3 v3.0.0-20190709130402-674ba3eaed22
)

replace easybox => /Users/praynise/devenv/go/easybox

执行 go mod download 提示如下:

go: finding github.com/gogf/gf v0.0.0+incompatible
go: github.com/gogf/gf@v0.0.0+incompatible: unknown revision v0.0.0
go: error loading module requirements

可是我的 go.mod 文件里面根本就没有这个 github.com/gogf/gf v0.0.0+incompatible 啊… 之前开发项目的时候我有自己拉了一个 github.com/gogf/gf 并通过 replace 的方式指向本地,现在 git 上的版本更新了,我想直接用 git 上的,就直接改配置 require 为 github.com/gogf/gf v1.9.7,但是通过 go mod download 仍然去找 v0.0.0,请大神指点这个情况肿么办…

8931 次点击
所在节点    Go 编程语言
16 条回复
thet
2019-10-11 14:59:29 +08:00
go mod tidy 试试呢
ppphp
2019-10-11 15:02:54 +08:00
怀疑是 easybox 有问题,其他的复制到我本地是没问题的
heavyrainn
2019-10-11 15:14:22 +08:00
@ppphp easybox 是我自己写的一个本地包,所以用 replace 替换到本地了
heavyrainn
2019-10-11 15:16:24 +08:00
@thet go mod tidy 也会去找那个 v0.0.0…
thet
2019-10-11 15:30:51 +08:00
go mod why github.com/gogf/gf
看看哪里引用了,是不是 easybox 里面有引用
reus
2019-10-11 15:48:07 +08:00
用 go mod graph 看看是怎么引入的

另外,gogf 是垃圾。
qq976739120
2019-10-11 15:52:12 +08:00
@reus gogf 是垃圾 此话怎讲?我给 gf 提供过代码,接触下来,群主和开发者都是认真负责的 coder,版本迭代很快,更新的功能也很实用,怎么就成垃圾了
reus
2019-10-11 15:59:28 +08:00
@qq976739120 认真负责并不代表水平足够,例如这段代码就有严重 bug: https://github.com/gogf/gf/blob/977c8b7ee32f7f4891cafed5d3255bc7bd20b3c5/crypto/gmd5/gmd5.go#L40
heavyrainn
2019-10-11 16:44:12 +08:00
@thet easybox 里面的确是有,我 replace 了,但是还是报了这个错误。看来还是我对 go mod 的理解有问题,非常感谢啦
heavyrainn
2019-10-11 16:49:54 +08:00
@reus 感谢提供知识点~gogf 我追了很长时间了,可能我不是什么太严谨的程序员吧,gogf 的各种模块给我提供了很大的便利。bug 当然是有,不过可以给作者提 issue 帮助其改进,作者回 issue 的速度感觉还是挺快的。有你感觉不妥的地方,也希望你可以帮助其变得更好(*^▽^*)
scukmh
2019-10-11 16:57:13 +08:00
@reus 啊,我好菜,这段代码里哪里有 bug 呀。
index90
2019-10-11 18:42:13 +08:00
go mod graph| grep github.com/gogf/gf
icexin
2019-10-11 19:13:33 +08:00
@scukmh defer 里面的 err 会把 return 的 err 给覆盖了,io.Copy 即使出错也发现不了。
johng
2019-10-12 08:58:24 +08:00
@icexin 感谢指正,已修复。
johng
2019-10-12 09:37:05 +08:00
@heavyrainn 你看看 easybox 里面引用的 gf 是什么版本?另外 replace 只对本地项目有效,不会影响依赖项目。
heavyrainn
2019-10-12 10:59:53 +08:00
@johng easybox 之前也引用的本地版,现在都改成 1.9.7 版了,顺便仍 github 上去了,省着以后总本地手动同步了…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/608233

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX