go - 如何将 go list -u -m all 与 vendoring 模式一起使用?

标签 go go-modules

我刚刚升级到 go1.14 并运行 go list -u -m all带有 -mod=vendor GOFLAG 的命令,我遇到了 无法使用 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 有什么问题?与 -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目录不一定包含有关可用升级的信息,因为 vendor目录本身是在一个时间点创建的。为了确定可用的升级,您必须与模块代理服务器或源服务器建立网络连接,以查看哪些其他版本可用。

所以这两个标志确实是不兼容的:你可以检查升级,或者你可以只使用 vendor 中的内容。目录,但不能同时两个。

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

相关文章:

http - Golang - 尝试 GET 请求时来自 S3 的 SignatureDoesNotMatch 错误

amazon-web-services - GO-AWS-SDK 访问 AWS 上的实例信息

go - 在本地使用带有 go mod 的子包

Go Modules - 目录和包的命名约定

go - "go mod tidy"与 "go build"的行为

email - 在网站中匹配正则表达式电子邮件

Go SSH 服务器通过 SCP 接受文件传输

go - 在 Go Wire 注入(inject)中使用单例模式

go - 如何使用 Go Modules 打印我的项目中使用的许可证?

继续使用 forked github repo 得到 "unexpected module path"错误