在go CLI中使用-mod标志

在go CLI中使用-mod标志,go,Go,我正在通过godoc阅读如何使依赖项保持最新: 它说,-mod=mod标志可用于自动更新go.mod文件。但是我不能用它 这是我尝试的命令: % go get -mod=mod ./.. flag provided but not defined: -mod usage: go get [-d] [-t] [-u] [-v] [-insecure] [build flags] [packages] Run 'go help get

我正在通过godoc阅读如何使依赖项保持最新:

它说,
-mod=mod
标志可用于自动更新go.mod文件。但是我不能用它

这是我尝试的命令:

% go get -mod=mod ./..                                 
flag provided but not defined: -mod
usage: go get [-d] [-t] [-u] [-v] [-insecure] [build flags] [packages]
Run 'go help get' for details.
我显然遗漏了一些东西,因为我似乎无法使标志正常工作。

Edit:这是一个文档错误 经过一些实验,看起来只有非常旧的Go-understand
Go-get-mod=
,特别是1.11版。因此,文档已经过时,您可以报告它

官方推荐的Go版本1.14或更新版本:要自动更新现有的
Go.mod
文件并下载依赖项,而不是执行
Go-get-mod=mod.
,只需运行:

go get-d。
为了使示例完整,您现在可以实际构建所有内容并将二进制文件放入
$GOBIN
(或
$GOPATH/bin
)中,方法是:

去安装
如果仍然不起作用,需要检查以下几点:

go
更新至最新版本 您正在阅读的在线文档总是关于最新的官方版本,而您可能正在使用较旧的版本。检查您的版本:

go版本
按照目前的Go开发速度,大多数人都在尝试尽快更新。跟随

旧版本的文档 显然,没有简单的方法可以在线阅读旧文档。相反,我使用
godoc
工具在本地执行此操作:

go-get-v golang.org/x/tools/cmd/godoc
godoc-http=127.0.0.1:6060
让上述命令保持运行,然后在浏览器中转到


通过这种方式,我检查了旧文档中关于
-mod
标志的内容。

她说的是更新依赖项,但你的答案离得很远。@shmsr OP希望使用文档中记录的新
-mod
,并收到一个错误
标志,提供了但未定义:-mod
。我假设他们想要使用
-mod
,并且不质疑原因。没有足够的数据简单地告诉他们不应该这样做。在我看来,如何处理这些问题的建议与OP的主题完全一致,但更重要的是,对于通过搜索引擎到达这里的任何人来说也是如此。@shmsr针对go1.16进行了更新,它看起来像是一个文档错误。是的,昨天提出了这个问题。这里:@kubanczyk感谢您的详细回答。我观察到,使用go get-d,它将依赖项升级到最新版本,而不是最新的稳定版本。有没有办法只升级稳定版本?谢谢。您能告诉我们您使用的是哪个
go
版本吗?@shmsr我使用的是1.15