当模块位于my GOPATH中时,为什么列出go模块依赖项失败?

当模块位于my GOPATH中时,为什么列出go模块依赖项失败?,go,Go,我正在使用这个项目。当我克隆到/tmp/中时,如果我运行: go list-m all 我得到了所有依赖项的列表。如果同一个项目在我的 $GOPATH/src/github.com/stts/beerdb,然后运行我得到的相同命令: go list-m:不使用模块 如果在这两种情况下,我都处在go.mod和go.sum存在的路径上,为什么会出现不同的行为?我的go版本是go1.12go 1.12仅对模块提供初步支持(在go 1.11中介绍)。GOPATH是默认模式,但当GO111MODULEen

我正在使用这个项目。当我克隆到/tmp/中时,如果我运行:

go list-m all

我得到了所有依赖项的列表。如果同一个项目在我的
$GOPATH/src/github.com/stts/beerdb
,然后运行我得到的相同命令:

go list-m:不使用模块


如果在这两种情况下,我都处在go.mod和go.sum存在的路径上,为什么会出现不同的行为?我的go版本是go1.12

go 1.12仅对模块提供初步支持(在go 1.11中介绍)。GOPATH是默认模式,但当
GO111MODULE
env var设置为
on
时,
go
命令现在支持模块目录外的模块感知操作。有关详细信息,请参阅


建议切换到Go 1.13,这增加了完整的模块支持。在Go 1.13中,只要在当前目录中或其父目录中找到
Go.mod
文件,模块感知模式默认处于活动状态。

,因为在Go 1.12中,默认为GOPATH模式。设置
GO11MODULE=on
env var,或者更好,使用最新的1.13 go。我明白了,谢谢!你的评论能不能成为一个答案,这样我就可以说这就是我问题的答案?