go - go get: 被 -mod=vendor 禁用
问题描述
我正在使用 Go 模块,并且我使用供应商模式,因为它可以将我的 CI 速度提高 2 倍。
我愿意:
go mod vendor
go build -mod=vendor ...
我可以毫无问题地构建我的应用程序。
但是当我想使用go get
时,例如安装golint
:
go get -u golang.org/x/lint/golint
它将再次下载我所有的项目依赖项,而不仅仅是 golint。
如果我尝试:
go get -mod=vendor -u golang.org/x/lint/golint
我得到:
go get: disabled by -mod=vendor
Lint 将在我的开发 docker 镜像中使用,但不会在 prod 中使用,所以我不想将它添加到go.mod
我能做些什么呢?
解决方案
go get
保持依赖项要求之间的一致性,并使用import
源文件中的语句图来确定要更新哪些包。
因此go get -u
必须至少下载go.mod
您的依赖项的文件,以及所请求包的源代码及其升级的依赖项。
推荐阅读
- java - 如何从 DataSource 或 Connection 获取登录对象
- android - 使用日历确定两个日期中的最新日期
- java - 是否可以使用 JpaRepository 在 jsp 中进行分页
- tmux - 如何从 tmux '返回?热键(“帮助”)窗口
- javascript - 推送到数组取决于选项
- python - 我的 Python 代码无法运行,我不知道为什么,我尝试将内核从 3.6 更改为 3.0
- python - HSV 图像阈值化结果与 ImageJ 和 OpenCV 不同
- c# - 如何在 ASP.NET 私有 API 中捕获和修复项目错误
- javascript - 如何在加载 dom 树后立即运行 javascript 脚本以避免用户看到“单缓冲”效果?
- shake-build-system - 摇一摇:命令失败后自动删除文件