我刚刚升级到go1.14并使用-mod = vendor GOFLAG运行go list -u -m all命令,遇到无法使用 vendor 目录确定可用的升级。我浏览了发行说明(https://golang.org/doc/go1.14#go-command),但不知道为什么会出错。 (我的go.mod和vendor/modules.txt已同步)。

什么时候使用-mod = readonly像go list -mod = readonly -u -m all命令?使用go list -u -m all with -mod=vendor有什么问题?

任何指针将不胜感激。谢谢你。

GOGOPATH=/home/vagrant/go_workspace
GO111MODULE=on
GOFLAGS=-mod=vendor
============================================
go list  -u -m all
go list -m: can't determine available upgrades using the vendor directory
        (Use -mod=mod or -mod=readonly to bypass.)

最佳答案

-mod=vendor请求go命令仅使用vendor目录中的信息来解析有关您的依赖项的信息。
vendor目录不一定包含有关可用升级的信息,因为o​​jit_code目录本身是在单个时间点创建的。为了确定可用的升级,您必须与模块代理服务器或原始服务器建立网络连接,以查看其他可用版本。

因此,这两个标志实际上是不兼容的:要么可以检查升级,要么只能使用vendor目录中的内容,但不能同时使用两者。

关于go - 如何在 vendor 模式下使用go list -u -m?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60579835/

10-15 06:12