Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
golang模块名称更改导致本地测试失败_Go_Github_Go Modules - Fatal编程技术网

golang模块名称更改导致本地测试失败

golang模块名称更改导致本地测试失败,go,github,go-modules,Go,Github,Go Modules,我有别人的密码。其模块名称的格式如下: module github.com/foo/bar/v3 我在本地做了一些更改,并将本地go.mod更新为v4,而不是v3,但这现在会导致本地运行测试失败(见下文,我已将输出泛化) 注意:此时的go.sum为空 我不知道为什么它试图定位软件包的实际v3版本,从而更新go.sum以包含它 我可以从测试文件中看到,这个包使用了不同的包名(例如,package foo_test),因此在编写测试代码时,它不依赖于导出的数据结构。也许这就是为什么会发生这种情况?

我有别人的密码。其模块名称的格式如下:

module github.com/foo/bar/v3
我在本地做了一些更改,并将本地
go.mod
更新为
v4
,而不是
v3
,但这现在会导致本地运行测试失败(见下文,我已将输出泛化)

注意:此时的
go.sum
为空

我不知道为什么它试图定位软件包的实际v3版本,从而更新go.sum以包含它

我可以从测试文件中看到,这个包使用了不同的包名(例如,
package foo_test
),因此在编写测试代码时,它不依赖于导出的数据结构。也许这就是为什么会发生这种情况?它查看对
x.Y
的引用,然后在github中查找
x

但是当我在go.mod文件中使用v3引用时,我不确定为什么测试可以正常运行

当你在一个分叉项目中工作时,你对这里发生的事情有什么想法吗?正确的过程应该是什么


谢谢。

如果您在
go.mod
文件中更改了
模块
名称,您必须用更新的
模块
名称替换所有
导入
路径

当您将模块
github.com/foo/bar/v3
替换为
github.com/foo/bar/v4
时,您必须
在整个项目中查找并替换
github.com/foo/bar/v3
的所有引用


那么您的
$go test-v
应该可以正常运行。

您更改了模块名称,是否也更改了所有相关的导入语句?@JimB OMG!我真是个倒霉蛋
$ go test -v

go: finding module for package github.com/foo/bar/v3
go: found github.com/foo/bar/v3 in github.com/foo/bar/v3 v3.0.0
# github.com/foo/bar/v4_test [github.com/foo/bar/v4.test]
./some_test.go:232:19: x.Y undefined (type *package.Example has no field or method Y)
FAIL    github.com/foo/bar/v4 [build failed]